我一直想做的一件事是开发我自己的操作系统(不一定像Linux或Windows那样花哨,但比我已经完成的简单的引导加载程序更好).
我很难找到资源/指南,让你过去编写一个简单的"Hello World"操作系统.
我知道很多人可能会建议我看看Linux或BSD; 但是像这样的系统的代码库(大概)是如此之大,以至于我不知道从哪里开始.
有什么建议?
更新:为了让通过Google登陆此帖子的人们更容易,这里有一些操作系统开发资源:
编写自己的操作系统(感谢Adam)
Linux From Scratch(感谢John)
SharpOS(C#操作系统)(谢谢lomaxx)
OS Dev Wiki和论坛(感谢Steve)
BonaFide(谢谢史蒂夫)
布兰(谢谢史蒂夫)
滚动你自己的玩具UNIX克隆操作系统(谢谢史蒂夫)
其他资源:
我找到了一个名为MikeOS的好资源,"MikeOS是一个学习工具,用于演示操作系统的简单操作.它使用16位实模式进行BIOS访问,因此不需要复杂的驱动程序"
版权所有11/14/08
我在Freebyte的指南中找到了一些资源...免费和非免费的操作系统链接到OSKit和ExOS库等工具包.这些在开始OS开发时似乎非常有用.
2009年2月23日更新
Ric Tokyo在这个问题上推荐了nanoos.Nanoos是一个用C++编写的操作系统.
更新于3/9/09
Dinah为有抱负的操作系统开发人员提供了一些有用的Stack Overflow讨论:创建自定义操作系统的障碍讨论了在开发操作系统和操作系统开发时可能遇到的陷阱是一个更为一般性的讨论.
2009年7月9日更新
LB提供了Pintos项目的链接,Pintos项目是为学生学习OS开发而设计的教育操作系统.
2009年7月27日更新(仍然很强劲!)
我偶然发现了伯克利的在线操作系统课程,有23个讲座.
TomOS是MikeOS的一个分支,包括一些内存管理器和鼠标支持.作为MikeOS,它旨在成为一个教育项目.它是用NASM汇编程序编写的.
2009年8月4日更新
我发现幻灯片和其他材料与上面列出的在线伯克利讲座一致.
2009年8月23日更新 …
我打算编写一个操作系统,我对操作系统知之甚少.是否有任何好的资源或书籍可供我学习?你有什么建议?
创建操作系统似乎是一个庞大的项目.怎么会有人开始?
例如,当我将Ubuntu弹出到我的驱动器中时,我的计算机如何才能运行它? (我想,这是我真正想知道的.)
或者,从另一个角度来看,磁盘上可能存在的字节数最少,仍然可以作为操作系统"运行"?
(我很抱歉,如果这是模糊的.我只是不知道这个主题,所以我不能非常具体.我假装知道关于计算机如何工作的相当数量,但我对这个主题完全无能为力. )
在我看来,程序员(尤其是Comp.Sci.grads)试图解决的最常见的过于雄心勃勃的项目是构建自己的操作系统.(尝试创建自己的编程语言+编译器可能更常见,但不是那么雄心勃勃.)
对于那些(像我一样)愚蠢的尝试:除了庞大的规模,你在尝试从头开始创建自己的操作系统时遇到的最大问题或意想不到的障碍是什么?
编辑:一个很棒的操作系统问题:在操作系统开发中有哪些资源?
什么样的C++(重新编程)我必须学会制作自己的操作系统内核?(我知道我也必须学习装配.)编辑***像中断,键盘驱动程序,输入.***
好的,我做了一个真正的*3基本操作系统并希望分享它.
干得好. http://bcsy.hostzi.com/BytOS.zip
在linux上编译