本书旨在引导读者一步步构建一个小型操作系统,总代码量控制在1000行以内。
尽管操作系统或内核开发听起来令人生畏,但操作系统(尤其是内核)的基本功能出奇地简单。即使是Linux,最初版本也只有8413行代码。本书将实现基本的上下文切换、分页、用户模式、命令行shell、磁盘驱动程序和文件读写操作,全部使用C语言编写。
当然,构建过程并非易事,最大的挑战在于调试。在实现printf之前,无法使用它进行调试,需要学习新的调试技术和技巧。特别是从零开始构建时,会遇到引导过程和分页等难点。但不用担心,本书也会介绍操作系统调试方法。
克服调试难关,最终看到成果的喜悦将更加强烈。让我们一起踏上激动人心的操作系统开发之旅!
读者可以从GitHub下载示例代码。
本书采用CC BY 4.0许可证,示例代码和源代码采用MIT许可证。
阅读本书需要具备C语言基础和类UNIX环境的经验。如果你能运行gcc hello.c && ./a.out,那么你就可以开始阅读本书了。
本书最初是作者另一本日语著作《微内核的设计与实现》的附录。
祝你操作系统开发之旅愉快!