Minix vs Linux用于学习操作系统设计?

haz*_*ziz 8 c c++ linux operating-system minix

我希望学习操作系统设计.我想知道我是否应该在这个过程中处理Minix或GNU/Linux?我喜欢书籍所以我会主要关注一本书,虽然视频资源(可能是录像带讲座)也会受到欢迎.

我已经正式学习了C和C#,并且可以在其中编写中小型程序.我对数据结构也有一个非常基本的了解.

如果我采用Minix路线,我应该解决版本2(更简单??)还是版本3?

Yur*_*uri 16

我会选择Minix路线,因为我个人经验丰富.Minix非常简单,从教育的角度来写.另一方面,Linux内核已存在很长时间,因此进行了大量优化.我不认为这是一个好的开始.

我不会太担心哪个minix版本.这个概念保持不变.使用较新的版本,您可以在其上运行X,这可能会有所帮助,但同时会增加更多的复杂性.只需使用你找到一本好书的版本.

  • 这次它只是Linux,而不是GNU/Linux,我认为:) (2认同)

Seb*_*ach 7

操作系统:设计和实现涵盖了Minix,所以这可能是Minix的一个很好的论据.

我自己没有触及这个话题,Linux相当大(上次我检查了1000万行+,当然你不需要研究所有这些),而Minix使用带有独立模块的微内核架构,所以它可能更容易把握.

我会选择Minix.

(另一方面,O'Reilly有很多关于Linux的书籍;但我想我仍然会选择Minix,将该书作为参考书)


Zol*_*tán 5

在我做的实习中,我不得不更换Minix中的硬盘驱动器,以便使用电梯算法而不是先到先得的服务来处理请求.我应该在Minix 2中做到这一点,但我想在Minix 3中做到这一点,因为我从不喜欢使用旧技术.

在我工作的两个月里,最令人沮丧的是,Minix 3花了大约20分钟在一台笔记本电脑上使用I5处理器,运行Windows 7的4GB内存在VMWare中编译.最后,在2个月之后,我放弃了在Minix 3上切换到Minix 2,编译时间约为20秒.

现在我不是说我编译系统的方式不会有什么问题,但是我很努力地加速它并没有成功.

我只想说,当时我刚刚获得计算机科学硕士学位,并且我在C语言编程方面有5年的丰富经验(只是为了让你不认为我是一个刚刚决定的自学成才的程序员通过重新设计操作系统来进入编程:D)

编辑:最后,我建议你尝试编译Minix 3,看看它是怎么回事.如果你有更多的运气,肯定会选择这个,因为它有更多的现代操作系统概念,另一方面,如果你是一个完整的初学者,你可能会从Minix 2学习吨.我做到了.