1

我对操作系统编程很感兴趣。我想用空纸写自己的内核。我精通C语言和一点汇编。我打算购买Andrew tanenbaum的书:“操作系统设计与实现”并开始阅读它。每个人都告诉我这只是浪费时间,如果我放弃编写自己的内核的这种想法会很好。但我只是想知道幕后一切是如何运作的,学习编写自己的内核只是为了教育目的,我没有任何幻想,我的操作系统将是巨大的和可用的。

有没有比购买 AT OS Design and Implementation 来了解 OS 在幕后工作的方法?构建我自己的 linux 发行版就足够了吗?学习 linux 内核开发?或者学习 Windows Internals(Mark Russonovich 的优秀书籍)?为了了解一切是如何运作的。

事先谢谢你。

4

2 回答 2

3

我认为你最好的机会是研究当前的 Linux 内核。它已经建立并被广泛使用。它是免费的,为什么不呢?编写自己的内核将花费大量时间,并且您会偶然发现其他人已经发现的东西。尽管创建自己的内核将是一个非常有趣的项目,但不要重新发明轮子。;-)

于 2012-11-04T11:32:43.333 回答
0

当然,学习现有的开源内核(例如 Linux)是有帮助的,但如果没有一些背景知识(例如 Tanenbaum 书或本地/在线大学的操作系统课程),您可能会完全迷失方向。我建议观看有关操作系统如何工作的讲座,在旁边阅读教科书,然后开始查看源代码。

当您开始从现有内核读取代码时,请尝试找到一个爱好/学习的操作系统。大多数拥有良好操作系统课程的大学都有一个他们教的内核(有时他们已经删除了一些学生必须自己实现作为家庭作业练习的内核),或者你总是可以使用 Minix。如果您使用 Minix 来了解操作系统主题,那么使用 Minix2 等旧版本可能是个好主意 - 我读到新版本更“适合生产”/“初学者无法访问”。无论如何,请确保在代码之前阅读文档!

于 2013-06-16T23:15:29.897 回答