土法炼钢兴趣小组的算法知识备份

操作系统百科

文章导航

分类入口
os
标签入口
#operating-system#linux-kernel#index#series#encyclopedia

源码下载

本文相关源码已整理,共 2 个文件。

打开下载目录 →

目录

操作系统不是”老学问”。它是所有上层软件的地基——数据库的事务、分布式系统的一致性、网络栈的吞吐、容器的隔离、AI 的算力调度,全都落在它的抽象之上。可惜中文互联网上关于 OS 的深度材料,要么停留在教材,要么散落在一些晦涩的源码笔记里。本系列尝试补这个空白。

110 篇长文,从”什么是操作系统”谈起,逐层下到调度器、虚拟内存、文件系统与 I/O、内核并发、中断与时钟、启动与 ABI、可观测性、安全与隔离,最后展望 OS 的下一个十年。每一篇都对着 Linux 6.x 主线源码做实证分析,对关键分歧引入 FreeBSD、XNU、Windows、Zephyr/QNX 的对照视角。我们不做 man page 翻译,不做教科书搬运。

本系列假设你能读 C/Go/Rust,了解 CPU 缓存、虚拟内存、系统调用等基础概念;如果你读过本站的 分布式系统百科存储百科网络工程百科,阅读体验会更好。


子系列 A · 操作系统思想与边界

  1. 什么是操作系统 — 从 monitor 到微内核再到 unikernel,OS 的职责清单
  2. Unix 谱系与设计遗产 — Multics、Unix V6/V7、BSD、Plan 9、Linux
  3. 宏内核 vs 微内核 — Tanenbaum-Torvalds 论战三十年后的工程结论
  4. 特权级与硬件隔离 — ring0/SMM/EL/SMEP/SMAP/PKU/CET
  5. 系统调用 ABI — x86_64/arm64/riscv/NT 的 syscall 路径
  6. 内核与用户态的契约 — copy_from_user、SMAP、pin_user_pages
  7. POSIX 神话 — fork、信号、IOCP、kqueue
  8. OS 工程常识错觉 — 零拷贝、微内核、实时、协程的若干神话

子系列 B · 进程、线程与任务模型

  1. 进程与 fork/exec 的历史包袱
  2. 线程模型:1:1 / N:1 / M:N 与虚拟线程
  3. task_struct 解剖
  4. 进程生命周期
  5. 信号:Unix 最拧巴的抽象
  6. 管道、FIFO、socketpair
  7. 共享内存:SysV / POSIX / memfd
  8. 消息队列与 mqueue
  9. namespace:容器的内核根基
  10. cgroup v2:资源控制的统一模型

子系列 C · 调度器深度

  1. 调度理论:从 FCFS 到 EDF
  2. CFS 内部
  3. EEVDF:取代 CFS 的新调度器
  4. 实时调度与 PREEMPT_RT
  5. SCHED_DEADLINE 与 CBS
  6. 多核负载均衡
  7. HMP 异构调度:big.LITTLE 与 Intel P+E
  8. 调度延迟分析
  9. 空闲管理与 cpuidle
  10. 频率调节:schedutil 为什么赢

子系列 D · 虚拟内存

  1. 虚拟内存模型
  2. x86_64 多级页表与 LA57
  3. ARMv8 翻译体制
  4. TLB 工程
  5. mm_struct 与 VMA
  6. 缺页:major/minor/COW/userfault
  7. 页缓存(VM 视角)
  8. 内存回收与 MGLRU
  9. 交换:swap/zram/zswap
  10. OOM Killer 与 systemd-oomd
  11. NUMA
  12. HugeTLB 与 THP

子系列 E · 内核内存分配器

  1. Buddy 系统
  2. Slab / SLUB / SLOB
  3. vmalloc、kmap、ioremap
  4. per-CPU 变量
  5. KASAN、KFENCE、kmemleak
  6. 用户态分配器对比

子系列 F · 文件系统与 VFS

  1. VFS 四层抽象
  2. 路径名解析与 RCU walk
  3. fd 表与 struct file
  4. 文件锁:flock / fcntl / OFD
  5. xattr / ACL / capabilities
  6. fanotify / inotify / fsnotify
  7. OverlayFS 与容器镜像
  8. FUSE 性能天花板

子系列 G · I/O 子系统

  1. VFS I/O 路径
  2. POSIX AIO 与 libaio 的历史包袱
  3. io_uring 内核内部
  4. epoll 内部
  5. select / poll:该退场的两位
  6. signalfd / eventfd / timerfd / pidfd
  7. splice / tee / vmsplice
  8. 异步 I/O 模型 benchmark

子系列 H · 并发、同步与内核锁

  1. Linux 内核内存模型 LKMM
  2. 原子 RMW 与硬件原语
  3. spinlock 家族
  4. mutex 与 rwsem
  5. RCU 深度
  6. seqlock
  7. percpu_refcount 与引用计数
  8. futex
  9. 优先级反转
  10. 内核并发的形式化验证

子系列 I · 中断、时钟与低层机制

  1. 中断架构
  2. softirq / tasklet / workqueue
  3. 线程化中断
  4. hrtimer 与 timer wheel
  5. NO_HZ tickless 内核
  6. clocksource 与时间源
  7. CPU 热插拔
  8. 电源管理

子系列 J · 启动、内核模块与 ABI

  1. 从加电到 PID 1
  2. initramfs 与 dracut
  3. ELF 加载与动态链接
  4. vDSO
  5. 内核模块生态
  6. 稳定与不稳定 ABI

子系列 K · 可观测性与调试

  1. ftrace
  2. perf 子系统
  3. eBPF 核心
  4. kprobe / uprobe / fprobe
  5. kdump / crash / ramoops
  6. lockdep / kcsan / kfence
  7. 内核日志与 printk
  8. /proc 与 /sys

子系列 L · 安全与隔离

  1. POSIX capabilities
  2. seccomp-bpf 与 Landlock
  3. SELinux 与 AppArmor
  4. IMA / EVM / dm-verity / fs-verity
  5. KASLR、KPTI 与投机执行缓解
  6. 容器隔离强度
  7. 虚拟化基础:VMX / SVM / EPT
  8. KVM 架构与 vhost

子系列 M · OS 前沿与未来

  1. FreeBSD / OpenBSD 对照
  2. Windows NT 内核对照
  3. 实时 OS 巡礼
  4. Unikernel
  5. Rust for Linux
  6. 机密计算 OS
  7. 可拆分 OS 与远程内存
  8. OS 的下一个十年

写作状态

系列正在持续撰写中。已发表的文章标题为普通链接;未完成的以灰色占位链接形式列出。读者可通过 RSS 订阅本站更新。

延伸阅读

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-04-17 · os

【操作系统百科】什么是操作系统:从 monitor 到 unikernel 的职责清单

从裸机监控器到微内核再到 unikernel 与 serverless,OS 这个抽象层在六十年里被反复挑战又反复回归。本文不做教科书式定义,而是回到工程视角,提炼 OS 真正在做的五件事:资源抽象、复用、隔离、公平、可观测性。以此为尺,丈量宏内核、微内核、VMM、unikernel、serverless 各自的胜负边界。

2026-04-13 · distributed

分布式系统百科

64 篇深度长文,从系统模型到前沿研究,覆盖分布式系统的每一个核心主题。

2026-04-27 · os

【操作系统百科】内存回收

Linux 内存回收是 VM 最复杂的子系统之一。本文讲 active/inactive LRU、kswapd 与 direct reclaim、watermark 三线、swappiness 的真实含义、MGLRU 改造、memcg 回收与 PSI。

2026-04-28 · os

【操作系统百科】交换

swap 还值得开吗?本文讲 swap area 基础、swap cache、zram 压缩内存、zswap 前端压缩池、swappiness 的真实含义、容器里的 swap 策略,以及为什么现代 Android 全靠 zram 不靠磁盘。


By .