【问题标题】:Learn Operating System Development using Minix 2 or 3? [closed]使用 Minix 2 或 3 学习操作系统开发? [关闭]
【发布时间】:2011-05-21 20:50:17
【问题描述】:

今年春天我参加了一门关于通用操作系统理论和原理的课程,现在我想用整个夏天的时间阅读 Tanenbaum 的操作系统一书,查看 Minix 源代码,并大致了解实际的操作系统实现。

学校有两位操作系统教授,我去找他们询问是否借用了 Tanenbaum 的书。有趣的是,有人说我应该使用这本书的较旧的第二版,并专注于 Minix 2,因为它总体上更简单并且需要理解的源更少(因此在没有信息过载的情况下更容易学习)。另一位教授说她认为这不是问题,我应该使用 Minix 3 和他的书的最新版本,这样我才能看到更现代的实现。

堆栈溢出是怎么想的?这里有人对这两个版本的 Minix 都有经验吗?我想学习制作实际操作系统的原理,但我也不希望大量信息过载,这会使我无法真正理解整个代码的功能。

【问题讨论】:

    标签: operating-system minix


    【解决方案1】:

    我采用 Minix 2 方式。这是可以理解的,也为 Minix 3 铺平了道路。

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

    HtH

    【讨论】:

    • 我不确定我是否理解您回答的第二部分。你能澄清一下关于 HelenOS 的部分吗?
    • 是的,我想澄清一下。我还想知道您是否能够编译和运行 minix 2,如果可以的话(虚拟机?)
    【解决方案2】:

    如果您想深入了解基于微内核的操作系统的来源,我建议您查看HelenOS,这是一个更新但仍然相对简单的操作系统,没有 UNIX 语义和 API 的负担。唉,目前还没有关于它的书(如 Tanenbaum),但来源有据可查。

    【讨论】:

      【解决方案3】:

      有趣的是,我刚刚看到这篇旧帖子,很抱歉出现了一些问题。

      当我上大学时,不久前,我们有一个操作系统实验室,我们使用带有 Linux 的 PC 进行开发,并使用基于 68000 的带有引导 rom 的机器进行测试,我相信它们是基于 VMS 的。

      软件环境是 Modula2(第一年和第二年的语言)或 C/C++(第二年和第三年的语言),所有内容都经过交叉编译并通过脚本加载,以便重置测试机器以启动新操作系统。

      无论如何,为了缩短这一点,我们使用了某种使用 Minix2 源代码的教育框架,这样您就可以为项目编写部分操作系统,而无需编写全部内容。

      一段时间以来,我一直在努力寻找该环境的官方资源和文档,我确信它在网络上的某个地方,并且可能已更新/维护。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-04
        • 1970-01-01
        • 2012-07-11
        • 2011-11-03
        • 2010-09-20
        • 2011-06-26
        • 2012-02-07
        • 2010-09-20
        相关资源
        最近更新 更多