README
# 操作系统系列
进程调度、内存管理、文件系统——软件视角看计算机如何管资源
# 系列导读
本系列从操作系统的核心职能出发,覆盖进程管理、内存管理、文件系统、IO 等核心子系统。与「计算机原理」侧重硬件实现不同,本系列聚焦软件层的资源调度与管理策略。
学习路径建议:
基础层 核心层 深化层
┌────────────┐ ┌────────────────┐ ┌──────────────┐
│ 01.进程线程 │────────>│ 02.CPU调度 │─────────>│ 08.容器虚拟化 │
│ 03.进程间通信 │ │ 04.同步互斥 │ │ 10.性能调优 │
└────────────┘ │ 05.内存管理 │ └──────────────┘
│ 06.虚拟内存 │
└────────────────┘
│
┌──────┴──────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ 07.文件系统│ │ 09.IO模型 │
└──────────┘ └──────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 文档目录
| 编号 | 文档 | 核心内容 | 难度 |
|---|---|---|---|
| 01 | 进程与线程原理 | 进程模型、线程模型、协程、上下文切换 | ⭐⭐ |
| 02 | 处理器调度策略 | FCFS→SJF→RR→多级队列→CFS、优先级反转 | ⭐⭐⭐ |
| 03 | 进程间通信机制 | 管道/消息队列/共享内存/信号量/Socket、选型指南 | ⭐⭐⭐ |
| 04 | 同步与互斥机制 | 锁/条件变量/信号量、死锁四条件、银行家算法 | ⭐⭐⭐ |
| 05 | 内存管理原理 | 分区/分页/分段、malloc底层实现、内存碎片 | ⭐⭐⭐ |
| 06 | 虚拟内存机制 | 页表/TLB/缺页中断、页替换算法、工作集 | ⭐⭐⭐⭐ |
| 07 | 文件系统原理 | inode、目录结构、VFS、日志文件系统、EXT4/XFS | ⭐⭐⭐ |
| 08 | 输入输出模型 | 阻塞/非阻塞/多路复用(select/poll/epoll)、异步IO | ⭐⭐⭐⭐ |
| 09 | 设备驱动基础 | 字符/块/网络设备、Linux驱动模型、内核模块 | ⭐⭐⭐⭐ |
| 10 | 容器与虚拟化 | Namespace/Cgroups、从chroot到Docker、K8s基础 | ⭐⭐⭐ |
# 核心知识图谱
┌─────────────┐
│ 操作系统 │
│ 资源管理者 │
└──────┬──────┘
┌───────────────┼───────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ 进程管理 │ │ 内存管理 │ │ 存储管理 │
│ │ │ │ │ │
│ 进程调度 │ │ 分区/分页 │ │ 文件系统 │
│ 同步互斥 │ │ 虚拟内存 │ │ IO模型 │
│ 进程间通信 │ │ 页替换策略 │ │ 设备驱动 │
│ 死锁处理 │ │ malloc │ │ 容器技术 │
└──────────┘ └──────────┘ └──────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 学习方法
本系列延续疑惑→答疑→论证→结论的教学模式:
- 疑惑:从线上故障或代码困惑切入(CPU飙高、内存泄漏、IO卡死)
- 答疑:给出操作系统层面的根本原因
- 论证:通过源码分析、实验验证深入理解
- 结论/技术演变:总结本质,追溯 Linux 内核演进
上次更新: 2026/06/07, 18:47:40