Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 10 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(15)
我们在我就读的大学里使用了 Andrew Tannenbaum 的现代操作系统。 我强烈推荐它,因为它清楚地解释了您将遇到的许多设计决策中固有的权衡。 这本书比 Minix 的书更“公平、平衡”一点。
我推荐这本书的另一个原因是,尽管他与 Linus Torvalds 发生了网络上著名的口水战,他的偏见很少在书中体现出来。 此外,他是一位相当不错的作家,这本书实际上很有趣。
We used Andrew Tannenbaum's Modern Operating Systems at the university I attended. I highly recommend it for it's clear explanations of the tradeoffs inherent in many of the design decisions that you'll run up against. This book is a little bit more "fair and balanced" than the Minix book.
I also recommend this book because, despite his net-famous flame war with Linus Torvalds, few of his biases come through in the book. Also, he's a pretty decent writer, and the book is actually entertaining.
操作系统实施 Prentice Software
本书由 Tanenbaum 撰写,他是 Minix 的主要开发者,而 Minix 正是 Linux 的基础。 它对内存管理、文件系统、进程等基本操作系统概念提供了很好的概述。本书中的概念与 Minix 操作系统的示例密切相关,这是一件好事。
我认为你应该从类似的事情开始。
Operating Systems Implementation Prentice Software
This book is written by Tanenbaum, the main guy behind Minix, which is what Linux was based on. It provides good overviews for basic OS concepts like memory management, file systems, processes, etc. The concepts in this book book are intimately tied to examples of the Minix OS, which is a good thing.
I think you should start by something like that.
这个网站上有类似的帖子:
Similar threads on this very site:
操作系统概念是我们在大学使用的书。 它相当丑陋,但里面的信息很好地解释了(从基本的内存管理,到操作系统如何决定执行什么或如何避免死锁)。 相当宽。
Operating System Concepts is the book we used at University. It's quite ugly BUT the information inside are well explain (from basic memory management, to how to OS decide what to execute or how to avoid deadlock). Pretty wide.
如果您也想开始编写自己的操作系统,Os dev 网站提供了丰富的信息,
Os dev website is rich in information if you want to start coding your own OS too,
虽然这些书很老了,但都非常好:
Operating System Design with Xinu
http ://ecx.images-amazon.com/images/I/51AVJFBS3EL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg
操作系统设计-与 XINU 联网,卷。 II
3:http://Operating 系统设计-与XINU互联,卷。 二
While old, these books are very good:
Operating System Design with Xinu
http://ecx.images-amazon.com/images/I/51AVJFBS3EL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU01_.jpg
Operating System Design-Internetworking With XINU, Vol. II
3: http://Operating System Design-Internetworking With XINU, Vol. II
看一下HelenOS,它是一个从头开始基于微内核的操作系统,旨在成为一个完全现代的操作系统。 免责声明,我是一名贡献者,我正在从头开始开发它的外壳。
HelenOS已移植到ia32/64、SPARC、ARM等,其设计非常好且易于阅读。 它仍处于起步阶段,但展示了一种真正利用微内核设计并解决微内核实现中的许多问题(例如 IPC)的可能设计。
它还包括自动设置交叉编译所需的适当工具链的脚本。 它非常容易构建,并且在大多数模拟器(即 QEMU)或裸机中运行良好。
我还会研究 L4、Minix3 和 GNU HURD(基于 Mach),后者是尝试利用微内核时的设计陷阱的例证。
如果你想走整体路线,那就学习 Linux 吧。
Take a look at HelenOS, which is a from scratch microkernel based OS that aims to be a fully modern OS. Disclamer, I'm a contributor, I'm working on its shell from scratch.
HelenOS has been ported to ia32/64, SPARC, ARM and more, its very well designed and easy to read. Its still in its infancy but shows one possible design that really takes advantage of the microkernel design and solves many issues in a microkernel implementation (such as IPC).
It also includes scripts that automatically set up a proper tool chain needed for cross compiling. Its very easy to build and runs very well in most simulators (i.e. QEMU) or bare metal.
I would also study L4, Minix3 and the GNU HURD (based on Mach), the latter being an illustration of design pitfalls when trying to leverage a microkernel.
If you want to go the monolithic route, just study Linux.
我强烈建议您查看麻省理工学院操作系统课程。 它有很多有用的参考资料,以及一堆您可以尝试的实验室练习(包括自动评分脚本,因此您不必是麻省理工学院的学生即可完成这些练习)。
I'd highly recommend taking a look at the MIT Operating Systems class. It's got lots of useful references, and a bunch of lab exercises which you can play around with (including automated grading scripts, so you don't have to be an MIT student to do them).
教科书 http://ecx.images-amazon.com/images/I /411E3CQQYZL._SS500_.jpg
我在大学时使用过操作系统和中间件:支持受控交互。 它可能是该主题最好的教科书之一。
textbook http://ecx.images-amazon.com/images/I/411E3CQQYZL._SS500_.jpg
I used Operating Systems and Middleware: Supporting Controlled Interaction when I was in college. It is probably one of the best textbooks on the subject.
就在我的脑海中。
Just off the top of my head.
开发您自己的 32 位操作系统,作者:Richard A. Burgess。 详细介绍了引导加载程序、设置那些奇怪的内存和进程管理寄存器等。这是 1996 年的一本很棒的读物,当时我想尝试从头开始编写一个简单的操作系统,但可能过时了现在,仅处理前几代 Pentium 级 CPU。
Developing Your Own 32-Bit Operating System by Richard A. Burgess. Went into great details about boot loaders, setting up those strange memory and process management registers, etc. It was a great read back in 1996 when i thought i'd take a crack at writing a simple OS from scratch, but may be dated by now, dealing only with the first few generations of Pentium-class CPUs.
如果我没记错的话,Powerup to Bash Prompt HOWTO 包含很多看起来对此有用的信息。 旧版本的 Linux From Scratch HOWTO 也是如此,但在最近的版本中已被删除。
您还可以在了解 Linux 内核中找到很多有用的信息。
If I remember correctly, the Powerup to Bash Prompt HOWTO contained a lot of information that looked like it would be useful for this. So did older versions of the Linux From Scratch HOWTO, but in recent versions that has been removed.
You'll also find a lot of good information in Understanding the Linux Kernel.
我建议查看嵌入式操作系统并构建嵌入式操作系统。 它将处理核心概念,而无需现代桌面 CPU 的开销。
去年春天,我编写了一个多任务嵌入式操作系统作为最终项目,它比您想象的要容易。
I would recommend looking at embedded operating systems and building an embedded OS. It will deal with the core concepts without the overhead of a modern desktop CPU.
I wrote a multitasking embedded OS last spring as a final project, it's easier than you might think.
您应该研究一下 MINIX 3。我相信这是一个用不到 10,000 行代码编写的操作系统。 借助 Tanenbaum 的一本书籍并了解 MINIX 3 的工作原理,您可以很好地了解操作系统的工作原理。 您可以直接进入 Linux,但我认为这是一项有用的任务,并且确实可以帮助您了解如何不需要那么多代码来构建一个可用的操作系统。
http://www.minix3.org/
You should look into MINIX 3. This is an operating system that was written in, I believe, less than 10,000 lines. You can get a very good idea of how an OS works with the aid of one of Tanenbaum's books and understanding how MINIX 3 works. You could go straight to Linux, but I think this is a useful task and really helps you see how it really doesn't take that many lines to build a working OS.
http://www.minix3.org/
除了书籍之外,还有很多学习操作系统开发的网站
BrokenThorn Entertainment 位于此网站上,从基础学习操作系统开发
Apart from books, there are many sites that learn OS Development
BrokenThorn Entertainment is on of this website that learn OS dev from base