小编典典

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

all

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

我很难找到可以帮助您完成编写简单“Hello World”操作系统的资源/指南。

我知道很多人可能会建议我看一下 Linux 或 BSD;但是像这样的系统的代码库(大概)太大了,我不知道从哪里开始。

有什么建议?


阅读 114

收藏
2022-03-06

共1个答案

小编典典

在简要概述了为 X86
平台编写操作系统所涉及的内容之后,有很多链接。

似乎最有希望的链接 (www.nondot.org/sabre/os/articles) 不再可用,因此您需要浏览Archive.org
版本才能阅读它。

在一天结束时,引导加载程序获取内核的机器代码,将其放入内存,然后跳转到它。您可以将任何机器代码放入您想要的内核中,但大多数 C
程序都需要一个操作系统,因此您需要告诉您的编译器它不会拥有所有这些,或者引导加载程序必须创建其中的一些。

然后内核完成所有繁重的工作,我怀疑它是您想要的示例内核。但是,在拥有一个说“Hello
world”的内核与拥有一个加载命令解释器、提供磁盘服务以及加载和管理程序的内核之间,还有很长的路要走。

您可能需要考虑订阅 ACM 以访问他们的旧文献 - 在 80 年代末和 90
年代初的早期计算杂志中有很多关于如何创建替代操作系统的文章。这个时代也有可能已经绝版的书籍。您可以通过查找这些杂志的索引(可在该网站上找到
- 单击杂志名称附近的“索引”)然后四处询问有副本的人来免费获得相同的信息。

最后,我知道 usenet 已经死了(因为互联网末日的预言家这么说),但你会发现那个时代的许多崎岖的老专家仍然生活在那里。您应该搜索 google
群组(他们有 dejanews 的旧存储库),我希望您会发现很多人在十年或 1.5 年前提出与您现在所问的相同的问题。当 Linus Torvalds
最初开发 linux 时,您甚至可能会遇到许多寻求帮助的问题。如果搜索没有带来任何结果,请在相应的新闻组中询问(可能以 comp.arch
开头,但搜索名称中带有 OS 的新闻组)。

2022-03-06