跟我一起来写操作系统

优质
小牛编辑
121浏览
2023-12-01

这是一本关于用C/C++写一个操作系统的书籍。

译者注:下文是作者对该项目的简单介绍,包括写本书的起因,GitBook,源码,开放程度等。

Caution: This repository is a remake of my old course. It was written several years ago as one of my first projects when I was in High School, I'm still refactoring some parts. The original course was in French and I'm not an English native. I'm going to continue and improve this course in my free-time.

作者在高中时期创建了第一个项目 devos, 本项目就是devos的重构版,作者承诺业余时间会持续改进本项目。

Book: An online version is available at http://samypesse.gitbooks.io/how-to-create-an-operating-system/ (PDF, Mobi and ePub). It was been generated using GitBook.

How-to-create-an-operating-system 英文版已经发布在gitbook https://www.gitbook.com/book/samypesse/how-to-create-an-operating-system/ 上 。

Source Code: All the system source code will be stored in the src directory. Each step will contain links to the different related files.

源码在本项目的src目录内,书中涉及源码的地方会给予链接。

Contributions: This course is open to contributions, feel free to signal errors with issues or directly correct the errors with pull-requests.

本项目是完全开放性的,欢迎大家提 issues 和 pull-requests。

Questions: Feel free to ask any questions by adding issues. Please don't email me.

You can follow me on Twitter @SamyPesse or support me on Flattr or Gittip.

你能够在Twitter上关注作者 @SamyPesse 或者在 FlattrGittip 去支持作者。

我们将构建一个怎样的操作系统?

我们的目标是构建一个基于C++开发的类UNIX操作系统,但是我们不仅仅是做一个POC(概念验证)。这个操作系统应该能够启动,运行用户态SHELL并能够被扩展。

Screen

译者注:

本书并不是一本正式的书籍,我们也没有把这个项目当作单纯的翻译项目,而是希望完全的本土化,适合当前国人的需求。

  • 概念:原作者对一些概念会一带而过,在中文化时,我们会尽量提供更详尽的注解和额外的参考文章
  • 工具:文中涉及的开发环境所需的工具套件,我们将重新整合和提供,方便国内用户使用
  • 同步:原文中解决的问题和合并的PR,我们会保持跟踪并尽快同步

本中文文档中任何的问题 欢迎 issue 和 pull-requests, 也欢迎大家协同翻译。

写一个完整的操作系统从来不是那么简单,但所幸我们可以关注最本质的内容。你翻阅大部分讲述内核,操作系统的书籍和文本时,都离开不内存管理 ,中断,进程管理这些要点。在本书每个章节中,我们对大多数知识点都尽量提供额外的注解或参考链接,但是否真的有必要全部去深入理解和掌握,需要读者自己权衡,我们相信里面的很多知识点都可以拓展开成为一篇新的文章,甚至是一本书。

分享一些相关的书籍和话题: