有哪些资源可用于开始操作系统开发? [关闭]

╄→гoц情女王★ 提交于 2020-01-07 02:49:12

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

我一直想做的一件事是开发我自己的操作系统(不一定像Linux或Windows那样花哨,但比我已经完成的简单的引导加载程序更好)。

我很难找到资源/指南,让你过去编写一个简单的“Hello World”操作系统。

我知道很多人可能会建议我看看Linux或BSD; 但是像这样的系统的代码库(大概)是如此之大,以至于我不知道从哪里开始。

有什么建议?

更新:为了让通过Google登陆此帖子的人们更容易,这里有一些操作系统开发资源:

其他资源:

我找到了一个名为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个讲座。

TomOSMikeOS的一个分支,包括一些内存管理器和鼠标支持。 作为MikeOS,它旨在成为一个教育项目。 它是用NASM汇编程序编写的。

2009年8月4日更新

我发现幻灯片和其他材料与上面列出的在线伯克利讲座一致。

2009年8月23日更新

所有问题都在stackoverflow上标记了osdev

OS / 161是一个用c语言编写的学术操作系统,可在模拟硬件上运行。 该操作系统在Nachos中类似。 感谢Novelocrat!

tangurena推荐http://en.wikipedia.org/wiki/MicroC/OS-II ,这是一款专为嵌入式系统设计的操作系统。 还有一本配套书

安德斯建议Robert Love 开发Linux内核 。 这是“广受好评的内部人员对Linux内核的看法”。

2009年9月18日更新

感谢Tim S. Van Haren向我们讲述了Cosmos ,一个完全用c#编写的操作系统。

tgiphil向我们介绍了托管操作系统联盟(MOSA)框架 ,“一套工具,规范和源代码,用于促进基于通用中间语言的托管操作系统的开发。”

2009年9月24日更新

Steve使用Visual Studio在Windows上找到了一些开发资源,请查看BrokenThorn的VS 2005OSDev VS部分 的指南设置

2012年9月5日更新

kerneltrap.org不再可用。 linux内核v0.01可从kernel.org获得

12/21/2012更新了一个基本的OS开发教程,旨在成为一个学期的项目。 它将指导您构建具有基本组件的操作系统。 初学者非常好的开始。 相关论文 。 谢谢Srujan!

更新于2013年11月15日

从头开始编写简单的操作系统 。 谢谢James Moore!

更新于2013年12月8日

如何制作电脑操作系统谢谢ddtoni!

更新于3/18/2014

ToAruOS主要是从头开始构建的操作系统,包括GUI

2016年9月12日更新

编写自己的玩具操作系统

2016年12月10日更新

编写一个简单的操作系统 - 来自Scratch (谢谢@Tyler C)


#1楼

刚来自另一个问题。 我想提一下Pintos ......我记得我的操作系统课程与Nachos和Pintos似乎是可以在x86上运行的那种东西。


#2楼

我希望有一个地方可以获得有关开发自己的操作系统的所有信息。 最接近的是OS Dev Wiki论坛 。 它们提供了大量有关设置,开发和设备硬件信息的良好信息。

还有一些很棒的教程在BoneFide ,我已经使用了Bran的入门教程,现在我正在看一个基于他的名为Roll你自己的玩具UNIX克隆操作系统的更新版本

我再次检查:“操作系统:设计和实现”

如果你想在Windows上开发,请查看jolson的博客文章

编辑:要使用Visual Studio在Windows上进行开发,请查看BrokenThorn的指南OSDev的wiki


#3楼

我在本科的操作系统课程让我们为OS / 161构建了许多子系统,这是一个简单的,类似BSD的内核,它提供了一些基础知识,同时可以自由地探索实现更高级别服务的各种设计空间决策。


#4楼

一个相当简单的OS研究将是μC/ OS。 这本书有一张软盘,上面有源代码。

http://en.wikipedia.org/wiki/MicroC/OS-II


#5楼

我发现Robert Love的Linux内核开发非常有趣。 它告诉您Linux内核中的不同子系统如何以非常实际的方式工作。 由于源代码可用,Linux是攻击的主要候选者。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!