使用Minix 2或3学习操作系统开发?

13

我这个春季学习了有关通用操作系统理论和原则的课程,现在我想花费整个夏天通过研读Tanenbaum的操作系统书籍、查看Minix源代码,并对实际的操作系统实现有一个总体的认识。

我们学校有两位操作系统教授,我向他们借阅Tanenbaum的书。有趣的是,其中一位教授说我应该使用旧版本的第二版书籍,并专注于Minix 2,因为它整体上更简单,需要理解的源代码更少(因此更容易学习而不会信息过载)。另一位教授则表示不认为这会有问题,我应该选择Minix 3和最新版的书籍,以便看到更现代的实现方式。

Stack Overflow 的网友们怎么看呢?有没有人同时具有使用两个版本 Minix 的经验?我想学习制作一个真正的操作系统的原理,但我也不希望有过多的信息过载,以至于无法理解整个代码的含义。

3个回答

5

我采用了两种方式学习Minix 2。它很易懂,为Minix 3铺平了道路。

关于HelenOS - 他们提出了不切实际的目标 - 无错误和正式描述。两者都是不可达成的。

希望对您有所帮助。


5
请问您能否解释一下您答案的第二部分?关于HelenOS的部分能否澄清一下? - allingeek
是的,我也需要澄清一下。我还想知道您是否能够编译和运行Minix 2,如果可以的话,是如何做到的(虚拟机?) - gideon

4
如果你想深入了解基于微内核的操作系统的源代码,我建议你看看HelenOS。这是一个较新但相对简单的操作系统,没有UNIX语义和API的负担。不幸的是,目前还没有书籍(像Tanenbaum的那种),但源代码有很好的文档记录。

1
有趣的是,我刚看到这篇旧帖子,所以对于看起来像是一个颠簸的问题感到抱歉。
当我在大学时,我们有一个操作系统实验室,我们使用Linux的个人电脑进行开发,使用基于68000的机器进行测试,我相信它们是基于VMS的。
软件环境是Modula2(第一和第二年的语言)或C/C++(第二和第三年的语言),一切都是交叉编译的,并通过脚本加载准备好进行测试,以便重置测试机以启动新的操作系统。
总之,为了简洁明了,我们使用了某种教育框架,它使用了Minix2的源代码,因此您可以编写项目的部分操作系统,而不必编写整个操作系统。
我一直在寻找这个环境的官方来源和文档,已经有一段时间了,我相信它在网上某处,并可能得到更新和维护。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接