第 9 章 · 08 经典学习路径与书目


第 9 章 · 08 经典学习路径与书目

本节摘要:这是全书最后一节,也是登顶章的收尾。操作系统和编译器是造轮子的天花板,完整造一遍是数月到数年的工程。本节给你一张「上山地图」——OS 线与编译器线各自的经典项目、教程、书目,让你知道第一步怎么迈、路上有哪些可靠向导。带着本书前八章给你的全部基础认知,选一条线,出发。

内容来源:基于社区公认的经典资源整理的导读。

学习目标

  1. 知道 OS 线的经典项目(xv6)、权威 wiki(OSDev)、进阶书(OSTEP 等)。
  2. 知道编译器线的经典教程(Crafting Interpreters 对新手最友好)、权威书(Dragon Book)。
  3. 为自己定一个进阶计划,从本书的「路线图」走向真正的登顶。

一、学习价值:这是从「本书」到「登顶」的桥

本书给你的是「路线图」——让你看到 OS 与编译器的全貌、理解各子系统。但真正造出完整的 OS 或编译器,需要更专门的资源。本节把这些社区公认的「金标准」资源指给你,作为本书的延伸——本书是桥,这些是岸。

二、操作系统线:经典路径

起点:xv6(MIT 教学内核)

xv6 是 MIT 为教学设计的简化 Unix 内核,约几千行 C,实现了进程、虚拟内存、文件系统、系统调用。源码清晰、配套讲义(《xv6 book》)逐段讲解。学 OS 的最佳起点——读它的源码,对照本书前几节理解每个部分。

权威 wiki:OSDev

OSDev wiki 是「从零写 OS」的社区知识库,覆盖从「写第一个引导扇区」到「多任务/分页/文件系统」的全流程。动手时遇卡点,常来这里查。

进阶书

  • 《操作系统导论》(OSTEP):Wisconsin 大学的免费在线教材,讲解生动,概念清晰。配合 xv6 读最佳。
  • 《操作系统概念》(恐龙书,Silberschatz):经典权威教材,全面但厚重。
  • 《现代操作系统》(Tanenbaum):另一本经典,Tanenbaum 是 Minix(启发 Linux)的作者。

实战项目

  • 写一个 boot loader(引导扇区打印 Hello)。
  • 基于 xv6 加一个系统调用。
  • 实现简单调度器/分页。

三、编译器线:经典路径

起点:Crafting Interpreters

Robert Nystrom 的《Crafting Interpreters》(免费在线)是对新手最友好的编译器教程。前半本带你用 Java 写一个树遍历解释器(LOX 语言),后半本带你用 C 把它升级成字节码 VM。语言轻松、代码完整、循序渐进。强烈推荐作为编译器的第一本书。

进阶:Dragon Book

《编译原理》(Compilers: Principles, Techniques, and Tools),Aho 等,封面有龙,称「龙书」。是编译原理的权威教材,深而全(词法/语法/语义/优化/代码生成全覆盖)。难度较高,适合有基础后读。

其他经典

  • 《SICP》(计算机程序的构造和解释):MIT 神书,用 Scheme 带你实现解释器,培养「语言抽象」思维。
  • 《Programming Language Pragmatics》:Scott,覆盖语言设计与实现的广角。
  • Neil Mitchell 的「Write You a Haskell」:函数式语言实现,进阶。

实战项目

  • 表达式计算器(本书第 06 节起步)。
  • 一个小语言(变量/if/while/函数),用 Crafting Interpreters 带着写。
  • 给你的语言加类型系统(进阶)。

四、给你的进阶计划

  1. 选一条线(OS 或编译器),不要同时——两条都是大工程。
  2. OS 线:读 xv6 + OSTEP;动手改 xv6;写自己的 boot loader。
  3. 编译器线:读 Crafting Interpreters;动手写 LOX;进阶读 Dragon Book。
  4. 卡住别怕:这两条线都难,卡住是常态。慢即是快,坚持比天赋重要。
  5. 本书是你的地基:前八章(Shell/fork/exec/socket/WAL/...)积累的概念,在这里全部用得上。

本节要点回顾

  1. OS 起点:xv6(教学内核)+ OSTEP(教材)+ OSDev wiki(实战);进阶恐龙书。
  2. 编译器起点:Crafting Interpreters(对新手最友好);进阶 Dragon Book、SICP。
  3. 选一条线,不要同时;OS 与编译器都是大工程。
  4. 本书是地基:前八章的概念在这里全部复用。
  5. 慢即是快,坚持比天赋重要——这是登顶之路的真实写照。

推荐上手顺序

  1. 选线:OS 或编译器。
  2. OS 线:下 xv6 源码 + OSTEP,对照本书前几节读。
  3. 编译器线:开 Crafting Interpreters,跟着写 LOX。
  4. 动手做小项目(boot loader / 表达式计算器)。
  5. 卡住查 wiki/社区,持续投入数月。

至此第 9 章「造操作系统与编译器」全部讲完,本书正文九章也随之结束。

你从第 1 章的「为什么造轮子」出发,经第 2 章造 Shell、第 3 章造 CLI、第 4 章造正则引擎、第 5 章造编辑器、第 6 章造 Git、第 7 章造 Web 服务器、第 8 章造数据库,登上第 9 章 OS 与编译器的山顶。带上本书给你的全部能力,附录 A 还有三十个域等你探索。出发吧。

作者与出处
原作者:灏天文库
来源:codecrafters-io
许可证:CC0-1.0
整理人: 灏天文库整理
由灏天文库结构化整理,提供目录导航、全文检索与在线阅读,便于系统化学习
发布者: 作者: 灏天文库 转发
评论区 (0)
U