电子书 The little book about OS development
littleosbook.github.io/
“本文是一本实用的指南,教你如何编写自己的 x86 操作系统。它被设计提供足够的技术细节帮助,同时不过多透露示例和代码片段。我们试图收集网络上和其他地方广泛(且通常非常优秀)的材料和教程,并加入我们在遇到和解决问题时的见解。
本书不涉及操作系统背后的理论,也不涉及任何特定操作系统(OS)的工作原理。关于操作系统理论,我们推荐 Andrew Tanenbaum 的《现代操作系统》Modern Operating Systems。有关当前操作系统的列表和详细信息可以在互联网上找到。
开头的章节非常详细和明确,就是让你快速进入编码状态。后面的章节则更多地概述了所需内容,因为越来越多的实现和设计工作留给了读者,此时读者应该对内核开发的世界更加熟悉。在某些章节的末尾,提供了进一步阅读的链接,这些链接可能很有趣,并能让你对所涵盖的主题有更深入的理解。
在第 2 章和第 3 章中,我们设置了开发环境并在虚拟机中启动了我们的操作系统内核,最终开始用 C 语言编写代码。我们在第 4 章继续学习如何向屏幕和串口写入数据,然后在第 5 章深入探讨分段,并在第 6 章学习中断和输入。
在此之后,我们拥有了一个功能齐全但非常基础的 OS 内核。在第 7 章中,我们开始迈向用户模式应用程序的道路,通过分页实现虚拟内存( 第 8 章和第 9 章 ),内存分配( 第 10 章 ),最后在第 11 章中运行一个用户应用程序。
在最后三章中,我们讨论了更高级的主题,包括文件系统( 第 12 章 ),系统调用( 第 13 章 ),以及多任务处理( 第 14 章 )。”
AI生活指南ai创造营