为了从头开始编写自己的x86操作系统,最好的学习操作系统是什么?
答案 0 :(得分:9)
答案 1 :(得分:9)
我认为Minix的创建几乎就是为了这个目的。
玩得开心!
答案 2 :(得分:2)
对于我在大学的OS课程,我们使用了Nachos OS项目并实现了它。我做了C ++版本,但我认为这也有一个Java端口。我记得它非常有趣并且学到了很多东西,尽管这是很多工作。
答案 3 :(得分:2)
这一切都取决于你希望你的操作系统如何运行,如果你想要一个你应该学习Minix 3的微内核,或者如果你想要一个单片内核,那么当前的linux内核是一个很好的起点(提示:看看在arch / x86 / boot中,有一些非常有趣的代码)。 但是我个人认为你应该阅读英特尔和AMD的手册,然后在osdev.org论坛和wiki上做一些阅读。他们有大量的代码可供学习,并且通常对新手有用。
答案 4 :(得分:2)
我刚刚从头开始编写我的x86内核版本! (对于我的OS class project)而这是我无法描述的经历。您可以在上面的链接找到有价值的资源。
答案 5 :(得分:1)
老实说,你可能不应该从x86架构,甚至操作系统开始,但可能像8位入门套件,如基本的Fox11 development kit。在大学里,我在大会上为M68HC11处理器(套件中的那个)编写了我的第一个(也是唯一的)操作系统。
如果您真的想从头开始构建自己的操作系统,那么您需要走很长的路。
答案 6 :(得分:1)
我认为阅读许多不同操作系统资源的最佳方式,绝对是osdev准系统教程,操作系统研究白皮书和目标硬件上的文档。
我个人会建议看看l4-ka开心果内核,用相当不错的C ++编写。还有一些小型项目绝对值得一试,比如jimix或谱系。
最好坚持使用osdev论坛和维基 - 有很多信息已经回答 - 请参阅http://forum.osdev.org和http://wiki.osdev.org
答案 7 :(得分:0)
我前一段时间读过这篇文章。你可能会发现它很有趣。为了教授OS概念,这个人在当天写了MINIX。所以它可能是一个很好的简单操作系统。 http://www.cs.vu.nl/~ast/brown/
然而,正如Martin和Cory所说,这是一个很难咀嚼的东西。
答案 8 :(得分:0)
研究过时的操作系统并没有多大意义,因为它们往往具有很长的使用寿命。看看一些新的想法(虽然基于经过验证的,真实的),如Singularity