我一直想做的一件事是开发我自己的操作系统(不一定像Linux或Windows那样花哨,但比我已经做的简单的引导加载程序更好)。
我很难找到资源/指南,让你过去写一个简单的“你好,世界”;操作系统。
我知道很多人可能会推荐我看看Linux或BSD;但是这样的系统的代码库(大概)太大了,我不知道从哪里开始。
有什么建议吗?
更新:为了让通过谷歌登陆这篇文章的人更容易,这里有一些操作系统开发资源:
编写自己的操作系统(谢谢亚当)
Linux从零开始(谢谢约翰)
SharpOS (c#操作系统)(感谢lomaxx)
操作系统开发Wiki和论坛(谢谢史蒂夫)
诚意(谢谢史蒂夫)
麸皮(谢谢史蒂夫)
制作你自己的玩具unix克隆操作系统(谢谢史蒂夫)
其他资源:
我发现了一个很好的资源MikeOS, "MikeOS是一个学习工具,演示简单的操作系统是如何工作的。它使用16位实模式进行BIOS访问,因此不需要复杂的驱动程序。
更新11/14/08
我在Freebyte的指南…免费和非免费操作系统找到了一些资源,链接到OSKit和ExOS库等工具包。在开始操作系统开发时,这些似乎非常有用。
更新2/23/09
Ric东京在问题中推荐nanoos。Nanoos是一个用c++编写的操作系统。
更新3/9/09
Dinah为有抱负的操作系统开发者提供了一些有用的Stack Overflow讨论:创建自定义操作系统的障碍讨论了在开发操作系统时可能遇到的陷阱 . 操作系统开发是一个更一般的讨论更新7/9/09
LB提供了一个到平托一家都项目的链接,这是一个为学生学习操作系统开发而设计的教育操作系统。
更新7/27/09(仍然强劲!)
我偶然发现了来自伯克利的在线操作系统课程,有23个讲座。
灰岩洞是MikeOS的一个分支,包括一个小的内存管理器和鼠标支持。作为MikeOS,它被设计成一个教育项目。它是用NASM汇编程序编写的。
更新8/4/09
我发现幻灯片和其他材料与上面列出的伯克利在线讲座一起使用。
更新8/23/09
所有带有osdev标签的问题在stackoverflow上
OS / 161是一个用c语言编写的学术操作系统,运行在模拟硬件上。这个操作系统类似于Nachos。谢谢Novelocrat !
tangurena推荐http://en.wikipedia.org/wiki/MicroC/OS-II,这是一个为嵌入式系统设计的操作系统。还有同伴的书。
由Robert Love设计的Linux内核开发由Anders推荐。这是一本“广受好评的内部人士对Linux内核的看法”。
更新9/18/2009
感谢Tim S. Van Haren告诉我们宇宙,一个完全用c#编写的操作系统。
tgiphil告诉我们托管操作系统联盟(MOSA)框架,“一套工具,规范和源代码,以促进基于公共中间语言的托管操作系统的开发。”
更新9/24/2009
Steve找到了一些使用Visual Studio在windows上开发的资源,请查看BrokenThorn的VS 2005指南设置或OSDev的VS部分。
更新9/5/2012
Kerneltrap.org不再可用。linux内核v0.01可以从kernel.org中获得
< em > 12/21/2012更新 一个基本的操作系统开发教程,设计成一个学期的项目。它将指导您使用基本组件构建一个操作系统。这对初学者来说是个很好的开始。# EYZ1有关。谢谢Srujan !< / p >
更新11/15/2013
# EYZ0。谢谢詹姆斯·摩尔!
更新12/8/2013
谢谢ddtoni!
更新3/18/2014
2016年9月12日更新
2016年12月10日更新
从头开始编写一个简单的操作系统(谢谢@Tyler C)