学习路径
最小可用路径(13 篇 · 约 5 小时)
只走这条链即可建立操作系统的心智骨架:抽象 → 进程与并发 → 内存虚拟化 → 文件抽象 → 观测收束。
入门 阶段(7 篇)
核心 阶段(17 篇)
进阶 阶段(5 篇)
前沿 阶段(3 篇)
路径说明(完整文档)
学习路径
边界与目标
本库边界:以单机操作系统的通用原理为主线(进程、并发、内存、文件、I/O、虚拟化),以 Linux/POSIX 为实践载体。分布式系统的深入设计、RTOS 实时内核、特定内核源码级剖析(如调度器源码逐行解读)不属于本库范围,仅在 kp-025、kp-029 中给出通往这些方向的概览与接口。
前置知识(不属于本库,需自行具备):C 语言基础语法与指针、Shell 基本命令、计算机组成的最朴素概念(CPU 执行指令、内存存字节)。缺少前两者仍可读完原理部分,但无法完成实验。
学完能做到什么:解释一段 C 程序从 fork 到退出的完整内核路径;用锁、信号量、无锁技术正确实现并发数据结构并说出取舍;用 strace/perf/vmstat 定位一次真实的性能问题;读懂文件系统与崩溃一致性的设计论文;对 VM 与容器的隔离边界给出工程判断。
阶段路径
- 阶段一 · 入门(建骨架):kp-001 → kp-002 → kp-003 → kp-004,建立"硬件—内核—应用"分层观与历史纵深感。
- 阶段二 · 核心一(进程与并发):kp-005 → kp-006 → kp-007 → kp-008 → kp-009 → kp-010 → kp-011 → kp-012 → kp-013 → kp-014,这是全库最陡的一段,务必动手跑 kp-007 与 kp-011 的实验。
- 阶段三 · 核心二(内存与持久化):kp-016 → kp-017 → kp-018 → kp-021 → kp-022 → kp-023,理解"每个地址都是翻译出来的""每次写盘都有顺序"。
- 阶段四 · 进阶(按兴趣选修):kp-015、kp-019、kp-020、kp-024、kp-025、kp-026、kp-027、kp-028、kp-029、kp-030,向锁-free、内核工程、存储前沿与安全分支展开。
- 阶段五 · 实践收束:kp-031(观测工作流)+ kp-032(误区澄清),把知识变成可复用的诊断能力。
最小可用路径
不追求完整覆盖时,按下面 13 个知识点走完即可获得操作系统的心智骨架(约 5 小时):
MINIMAL_PATH: kp-001 kp-002 kp-003 kp-005 kp-006 kp-007 kp-011 kp-012 kp-016 kp-017 kp-018 kp-021 kp-031
这条路径的逻辑:先建立抽象(导论三篇)→ 进入进程世界并理解并发本质(进程三篇 + 同步两篇)→ 攻克内存虚拟化(内存三篇)→ 落到持久化抽象(文件一篇)→ 用观测工作流收束全部知识(实践一篇)。
使用建议
每个知识点控制在 15~35 分钟:先读定义与图示建立直觉,再跑一遍实验命令,最后做自测题。实验均可在任意 Linux 环境(物理机、虚拟机、WSL、容器)复现,个别命令(如 /proc 下的文件)在 macOS 上不可用,文中已标注替代方案。