这是一本**从零动手写操作系统内核**的实践型教程。
不同于厚厚的理论书或只贴代码的教程,每一章都是一次完整的编码工作——从最底层的硬件初始化开始,一行一行把一个**可以在真实 x86_64 硬件上启动的微型内核**搭起来。
全书分六卷:
**第一卷:启动与基础设施**(第1~6篇)
从 Multiboot 协议讲起,进入保护模式、启用分页机制、构建栈和堆。你的内核将在这一卷获得”活下去”的基本能力。
**第二卷:进程与内存**(第7~17篇)
进程是怎么来的?fork/exec 的本质是什么?虚拟内存区域(VMA)如何管理?这一卷深入操作系统最核心的两大子系统。
**第三卷:文件系统**(第18~21篇)
打通 VFS 抽象层,实现 ext2 文件系统,让内核具备持久化存储能力。
**第四卷:图形与窗口**(第22~30篇)
从 Framebuffer 到 Display Server,再到 LVGL 集成,做出一个带窗口、鼠标支持的图形桌面雏形。
**第五卷:设备与驱动**(第31~35篇)
设备模型、devfs、PCIe 驱动框架、e1000 网卡驱动,理解 Linux 设备驱动模型的设计思想。
**第六卷:网络与进阶**(第36~最终篇)
TCP/IP 协议栈实现、用 socket 读取 HTTP 页面、多核与并发进阶。结尾章节会把手写内核与真实 Linux 的设计做对比。
不要求你有内核基础,只需 C 语言基础和一台愿意动手的电脑。