2011-05-21 36 views
13

今年春天,我参加了一门关于通用操作系统理论和原理的课程,现在我希望通过Tanenbaum的操作系统书籍,通过Minix源代码查看并获得实际操作系统实现的总体思路,度过这个夏天。使用Minix 2或3学习操作系统开发?

在学校有两位操作系统教授,我向他们询问有关借用塔南鲍姆的书。有趣的是,有人说我应该使用这本书的旧版本,第二版本,并专注于Minix 2,因为它整体上更简单,并且有更少的理解来源(并且因此在没有信息超载的情况下更容易学习)。另一位教授说,她不认为这会是一个问题,我应该与Minix 3和他的书的最新版本一起去,以便我看到更现代的实现。

Stack Overflow是怎么想的?这里的任何人都有Minix两个版本的经验?我想学习制作实际操作系统的原则,但我也不希望大量的信息超载,这使我无法真正理解代码整体如何。

回答

4

如果您想深入研究基于微内核的操作系统的源代码,我建议您看看HelenOS,这是一个较新的但仍然相对简单的操作系统,不会受到UNIX语义和API的影响。唉,现在还没有关于它的书(如Tanenbaum),但是这些资料都有详细记录。

4

我把Minix 2的方式。这对于Minix 3来说是可以理解和铺平道路的。

关于HelenOS - 他们采取不切实际的目标 - 无错误和形式化的描述。两者都无法实现。

HTH

+4

我不确定我是否理解了答案的第二部分。你能澄清关于HelenOS的部分吗? – allingeek 2012-09-25 23:39:00

+0

是的,我第二个澄清。我也想知道你是否能够编译并运行minix 2,如果是的话(虚拟机?) – gideon 2015-07-22 19:37:27

1

有趣的我只是碰到过这样的老职位似乎是一个凹凸非常抱歉。

我刚上大学时,有一段时间我们有一个操作系统实验室,我们用Linux的PC用于开发,68000的机器用于测试,我相信它们是基于VMS的。

软件环境是Modula2(一年级和二年级语言)或C/C++(二年级和三年级语言),所有内容都通过脚本交叉编译和加载,准备好将测试机重置为引导新的操作系统。

无论如何,为了减少这一点,我们使用了一些使用Minix2源代码的教育框架,这样您就可以为项目编写部分操作系统,而无需编写整个代码。

我一直在试图找到有关此环境的官方资源和文档,我确信它在某个地方可能会更新/维护。