趣谈 Linux 操作系统 · 深度学习指南(细化版)
作者:刘超| 真实结构:59 讲正文 + 学习攻略/串讲(共 73 个文件) 定位:把 Linux 内核当成「一家软件外包公司的老板」,用创业故事讲透操作系统——从 BIOS 启动到进程、内存、文件系统、网络、虚拟化、容器,一条龙。
一、这门课到底讲什么
刘超老师用一个贯穿始终的比喻:Linux 内核 = 一家外包公司。进程 = 项目,线程 = 子项目,调度 = 排项目管理流程,内存 = 分配会议室,文件系统 = 档案库,虚拟化 = 成立子公司。抽象的操作系统概念,全变成了「公司经营」的故事。
二、真实讲次大纲(按模块)
模块 1:启动与内核(第 1–9 讲)
| 讲次 | 核心知识点 | 课程原案例 |
|---|---|---|
| 02 | 学习路径:爬过六个陡坡 | 全景地图 |
| 03 | Linux 内核 = 外包公司老板 | 核心比喻 |
| 04–05 | 快速上手命令 + 系统调用 | 公司黑话、能接哪些项目 |
| 06–07 | x86 架构;从 BIOS 到 bootloader | 创业伊始 |
| 08–09 | 内核初始化;系统调用 | 成立公司、接项目 |
模块 2:进程与调度(第 10–19 讲)
| 讲次 | 核心知识点 |
|---|---|
| 10–11 | 进程、线程 |
| 12–14 | 进程数据结构(task_struct)三讲 |
| 15–17 | 调度(上/中/下):主动调度、抢占式调度 |
| 18–19 | 进程、线程的创建 |
模块 3:内存管理(第 20–26 讲)
| 讲次 | 核心知识点 |
|---|---|
| 20–21 | 内存管理:进程空间布局、分段分页 |
| 22 | 进程空间管理 |
| 23–24 | 物理内存管理(伙伴系统) |
| 25–26 | 用户态/内核态内存映射 |
模块 4:文件系统与 IO(第 27–35 讲)
| 讲次 | 核心知识点 |
|---|---|
| 27–29 | 文件系统、硬盘文件系统、虚拟文件系统(VFS) |
| 30 | 文件缓存(页缓存) |
| 31–35 | 输入输出、字符设备、块设备 |
模块 5:进程通信与网络(第 36–48 讲)
| 讲次 | 核心知识点 |
|---|---|
| 36–42 | 进程间通信:信号、管道、IPC、Socket |
| 43–48 | Socket 内核数据结构、发送/接收网络包 |
模块 6:虚拟化与容器(第 49–59 讲)
| 讲次 | 核心知识点 |
|---|---|
| 49–50 | 虚拟机、CPU 虚拟化 |
| 52–55 | 内存/存储/网络虚拟化 |
| 56–58 | 容器、Namespace、CGroup |
| 59 | 数据中心操作系统 |
三、必须吃透的核心知识点
-
进程 vs 线程:进程是「资源分配单位」,线程是「调度执行单位」。一个进程多个线程共享内存,但各有各的栈。
-
进程调度:Linux 用 CFS(完全公平调度器),核心是「红黑树 + 虚拟运行时间」——让每个进程「公平」地分到 CPU 时间。还记得《数据结构》里的红黑树吗?这里就是它的真实应用。
-
虚拟内存 + 页表:每个进程以为独占内存,其实是页表做映射。缺页中断(page fault)是「按需分配」的关键机制。
-
文件系统分层:虚拟文件系统(VFS)是抽象层,下面挂 ext4、XFS 等具体实现——「面向接口编程」在系统层的体现。
-
容器 = Namespace + CGroup:Namespace 做「隔离」(让容器以为自己是独立系统),CGroup 做「限额」(限制 CPU、内存用量)。理解了这俩,就理解了 Docker 和 K8s 的地基。
四、引发思考
- 进程和线程的本质区别?「上下文切换」为什么贵?
- CFS 调度器为什么用红黑树,而不是链表或数组?(快速找「最该运行」的进程)
- 缺页中断是什么?为什么「第一次访问内存」反而慢?
- 页缓存(page cache)为什么能大幅加速文件读写?和阶段四的「缓存」思想有什么共通?
- 容器的隔离(Namespace)和虚拟机的隔离,安全性和开销上有什么本质不同?
- 学完本课,再看 K8s 的「Pod」,你是不是理解了「Pod 是共享 Namespace 的一组容器」?
五、学完自测
- 能说出 Linux 启动的完整流程(BIOS→bootloader→内核→init)
- 能解释进程调度的基本思想
- 能说清虚拟内存和页表的作用
- 能解释「容器 = Namespace + CGroup」
- 能用「外包公司」的比喻给别人讲一遍 Linux 内核
配套:《操作系统实战 45 讲》是「手写 OS」的硬核版,本课是「故事版」,先读本课建立直觉,再读实战课加深。