知识地图
节点为知识点(颜色代表难度层级,描边为最小可用路径),箭头为 prerequisites 依赖边;悬停节点可查看完整标题。下方附文本版清单。
入门核心进阶前沿最小路径节点
文本版清单
01-导论与系统抽象
- 入门什么是操作系统:定义、职责与三层抽象
- 入门硬件基础:CPU、内存层级、中断与 DMA← 依赖 kp-001
- 入门内核态与用户态:特权级与系统调用机制← 依赖 kp-001, kp-002
- 入门操作系统演化史与流派之争← 依赖 kp-001
02-进程线程与调度
- 入门进程:概念、PCB 与进程状态机← 依赖 kp-003
- 核心上下文切换:机制与成本← 依赖 kp-002, kp-005
- 核心进程创建三件套:fork、exec 与写时复制← 依赖 kp-005
- 核心线程:并发执行单元与线程模型← 依赖 kp-005
- 核心进程间通信(IPC)总览← 依赖 kp-005
- 核心CPU 调度算法:FCFS、SJF、RR 与 MLFQ← 依赖 kp-005, kp-006
03-并发与同步
- 核心竞态条件与临界区:并发的本质问题← 依赖 kp-008
- 核心互斥锁的实现:从关中断到原子指令与自旋锁← 依赖 kp-011
- 核心信号量与生产者-消费者问题← 依赖 kp-011
- 核心死锁:四个条件、银行家算法与工程对策← 依赖 kp-013
- 进阶无锁编程与内存模型:CAS、ABA 与 happens-before← 依赖 kp-012
04-内存管理
- 入门地址空间与内存分配:碎片与适配算法← 依赖 kp-002
- 核心分页机制与页表:地址翻译与 TLB← 依赖 kp-016
- 核心虚拟内存与页面置换:缺页中断、置换算法与抖动← 依赖 kp-017
- 进阶Linux 内存管理实践:伙伴系统、slab、mmap 与 OOM← 依赖 kp-018
- 进阶内存保护与加固:权限位、NX、栈保护与 ASLR← 依赖 kp-017
05-文件系统与存储
- 入门文件、目录与 inode:持久化的核心抽象← 依赖 kp-003
- 核心块设备与 I/O 调度:从寻道时间到多队列← 依赖 kp-002, kp-026
- 核心经典文件系统布局:超级块、位图与 ext4 日志← 依赖 kp-021, kp-022
- 进阶崩溃一致性:journaling 协议与 fsync 语义← 依赖 kp-023
- 前沿现代存储范式:COW 文件系统、LSM 树与对象存储← 依赖 kp-023
06-IO与设备管理
- 核心I/O 控制方式与驱动模型:轮询、中断、DMA 与 VFS← 依赖 kp-002
- 核心缓冲与页缓存:write-back、脏页与 O_DIRECT← 依赖 kp-026, kp-024
- 前沿I/O 模型演进:阻塞、多路复用与 io_uring← 依赖 kp-009, kp-026
07-虚拟化安全与实践
- 进阶虚拟化与容器:Hypervisor、namespace 与 cgroup← 依赖 kp-017, kp-008
- 前沿安全与隔离:权限模型、沙箱谱系与侧信道← 依赖 kp-020, kp-003
- 核心系统性能观测工作流:USE 方法与工具矩阵← 依赖 kp-003, kp-006
- 核心常见误区与争议专题:从 swap 有害论到微内核之争← 依赖 kp-012, kp-018