开发操作系统的资源


Answers:


47

我们在我参加的大学中使用了Andrew Tannenbaum的现代操作系统。我强烈推荐它,因为它清楚地说明了您将要遇到的许多设计决策中固有的权衡。这本书比Minix本书更“公平和平衡”。

替代文字

我也推荐这本书,因为尽管他与莱纳斯·托瓦尔兹Linus Torvalds)发生了著名的火焰战争,但他的偏见很少出现在本书中。而且,他是一位相当不错的作家,而这本书实际上很有趣。


4
当我们说话时,我正在翻阅这本书(第二版),虽然本书是一本庞大的书,但它的详细程度令人难以置信。Silberschatz和Galvin撰写的《本本和操作系统概念》是了解操作系统知识的两本最佳书籍。
Mike B

14

操作系统实施Prentice软件

替代文字

本书由Minix背后的主要人物Tanenbaum编写,这是Linux的基础。它为诸如内存管理,文件系统,进程等基本OS概念提供了很好的概述。本书中的概念与Minix OS的示例紧密相关,这是一件好事。

我认为您应该从这样的事情开始。


9
我只想指出,Linux并不是真正基于“ Minix”的,而是用来替代它的。Linux具有单片内核,而Minix基于微内核设计。
比尔蜥蜴


10

《操作系统概念》是我们在大学使用的书。但是,其中的信息很难解释(从基本内存管理到如何由OS决定执行什么或如何避免死锁),这非常丑陋。相当宽。

替代文字


2
丑陋?但是封面很漂亮!我喜欢那本书,因为它在我的书架上看起来很漂亮。但是,我真的不记得里面的感觉。
mipadi

是的,这是经典。它通常被称为恐龙书。我现在正将它放在沙发上。这是一本好书,不过是入门书籍。通常,这是一本本科教材。
BobbyShaftoe

1
我一直听说它被称为The Dino Book,并且我同意这是一本本科教材。
麦克B

28
我试图单击以查看内部内容,但没有成功:(
乔·菲利普斯



4

看看HelenOS,它是一个从头开始基于微内核的操作系统,旨在成为一个完全现代化的操作系统。Disclamer,我是贡献者,我从头开始研究它的外壳。

HelenOS已被移植到ia32 / 64,SPARC,ARM等上,其设计精良且易于阅读。它仍处于起步阶段,但显示了一种可能的设计,该设计真正利用了微内核设计并解决了微内核实现(例如IPC)中的许多问题。

它还包括脚本,这些脚本会自动设置交叉编译所需的适当工具链。它非常容易构建,并且在大多数模拟器(即QEMU)或裸机中都能很好地运行。

我还将研究L4,Minix3和GNU HURD(基于Mach),后者是尝试利用微内核时设计陷阱的例证。

如果您想走整体路线,只需学习Linux。





2

开发自己的32位操作系统,作者Richard A. Burgess。深入了解有关引导加载程序,设置那些奇怪的内存和进程管理寄存器等的详细信息。1996年,当我以为我会从头开始编写一个简单的OS时,这是一本很棒的书,但也许可以追溯到现在,仅处理前几代奔腾级CPU。


从头开始编写操作系统有多远?
Jeroen 2013年

1

如果我没记错的话,“启动Bash提示” HOWTO包含很多信息,对于此而言似乎很有用。旧版本的Linux From Scratch HOWTO也是如此,但最近的版本已被删除。

您还可以在了解Linux内核中找到很多很好的信息。


1

我建议您查看嵌入式操作系统并构建嵌入式OS。它将处理核心概念,而没有现代台式机CPU的开销。

去年春天,我写了一个多任务嵌入式操作系统作为最后一个项目,它比您想象的要容易。


您可以为此推荐任何资源吗?谢谢。
smalinux '20

1
@Sohaib-不再。这个答案将近12岁了。
保罗·内森

您现在在做什么@Paul Nathan?您正在使用计算机体系结构的东西吗?
天网094 '08

1

您应该研究MINIX3。我相信这是一个少于10,000行的操作系统。借助Tanenbaum的一本书,您可以很好地了解OS的工作方式,并了解MINIX 3的工作方式。您可以直接使用Linux,但是我认为这是一项有用的任务,确实可以帮助您了解构建一个有效的OS真的不需要那么多的工作。

http://www.minix3.org/


只是把它放在那里...但是我认为MINIX 1 <10,000。MINIX 3要复杂得多,以为我不知道它有多少行。
宣泄

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.