学习路径

最小可用路径(13 篇 · 约 5 小时)

只走这条链即可建立操作系统的心智骨架:抽象 → 进程与并发 → 内存虚拟化 → 文件抽象 → 观测收束。

最小路径进度0%

入门 阶段(7 篇)

核心 阶段(17 篇)

kp-006 · 最小路径 上下文切换:机制与成本 02-进程线程与调度 · 25 分钟 kp-007 · 最小路径 进程创建三件套:fork、exec 与写时复制 02-进程线程与调度 · 25 分钟 kp-008 线程:并发执行单元与线程模型 02-进程线程与调度 · 20 分钟 kp-009 进程间通信(IPC)总览 02-进程线程与调度 · 25 分钟 kp-010 CPU 调度算法:FCFS、SJF、RR 与 MLFQ 02-进程线程与调度 · 25 分钟 kp-011 · 最小路径 竞态条件与临界区:并发的本质问题 03-并发与同步 · 20 分钟 kp-012 · 最小路径 互斥锁的实现:从关中断到原子指令与自旋锁 03-并发与同步 · 30 分钟 kp-013 信号量与生产者-消费者问题 03-并发与同步 · 25 分钟 kp-014 死锁:四个条件、银行家算法与工程对策 03-并发与同步 · 25 分钟 kp-017 · 最小路径 分页机制与页表:地址翻译与 TLB 04-内存管理 · 30 分钟 kp-018 · 最小路径 虚拟内存与页面置换:缺页中断、置换算法与抖动 04-内存管理 · 30 分钟 kp-022 块设备与 I/O 调度:从寻道时间到多队列 05-文件系统与存储 · 20 分钟 kp-023 经典文件系统布局:超级块、位图与 ext4 日志 05-文件系统与存储 · 25 分钟 kp-026 I/O 控制方式与驱动模型:轮询、中断、DMA 与 VFS 06-IO与设备管理 · 20 分钟 kp-027 缓冲与页缓存:write-back、脏页与 O_DIRECT 06-IO与设备管理 · 20 分钟 kp-031 · 最小路径 系统性能观测工作流:USE 方法与工具矩阵 07-虚拟化安全与实践 · 30 分钟 kp-032 常见误区与争议专题:从 swap 有害论到微内核之争 07-虚拟化安全与实践 · 20 分钟

进阶 阶段(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 上不可用,文中已标注替代方案。