操作系统百科 · 尾部深化计划(第 104–110 篇)
状态:已全部完成(2026-06-18)。 7 篇均已达到 TAIL_DEEPENING_PLAN 目标行数。
目标:将
#103 BSD 对比之后的 7 篇提纲级草稿,深化到与同系列#103及#100–102相当的发布标准。
一、现状与差距
| 篇 | 标题 | 当前行数 | 目标行数 | 状态 |
|---|---|---|---|---|
| 103 | FreeBSD 与 OpenBSD | ~447 | — | ✅ 发布级(标杆) |
| 104 | Windows NT 与 Linux | ~144 | ≥800 | 提纲:Object Manager、IRP、IOCP 有框架无深度 |
| 105 | 实时 OS 巡礼 | ~159 | ≥700 | 提纲:VxWorks/QNX/Zephyr 列举无源码/案例 |
| 106 | Unikernel | ~156 | ≥700 | 提纲 |
| 107 | Rust for Linux | ~171 | ≥800 | 提纲:缺 abstractions、error handling 机制 |
| 108 | 机密计算 | ~150 | ≥800 | 提纲:TEE/SGX/SEV 概念级 |
| 109 | 可拆分 OS | ~183 | ≥700 | 提纲 |
| 110 | OS 的下一个十年 | ~164 | ≥600 | 展望文,可略短但需证据 |
共同问题: - 缺少 A 级来源(Windows
Internals 书、Intel SDM、Linux 源码路径) - 缺少与 Linux
系列的显式对照(读者已读 1–102 章) - 缺少
Mermaid/SVG
以外的可核对细节(结构体、syscall、实测) -
#103 文末已指向 #104,但
#104 质量断层影响阅读体验
二、系列内定位
这 7 篇构成 OS 百科的 「跨平台与前沿」 收束线:
100 容器隔离 ──→ 101 虚拟化基础 ──→ 102 KVM
│
103 BSD 对比 ←──────────────────────────┘
│
├── 104 Windows NT(桌面/服务器对照)
├── 105 RTOS(硬实时边界)
├── 106 Unikernel(极端 specialization)
├── 107 Rust for Linux(实现语言演进)
├── 108 机密计算(信任根下沉)
├── 109 可拆分 OS(CXL/disaggregated 趋势)
└── 110 展望(综合收束)
三、逐篇深化规格
第 104 篇:Windows NT 内核与 Linux 的关键差异
核心问题:为什么 Windows 服务器和高性能 IO(IOCP)与 Linux(epoll/io_uring)走不同路径?WSL2 为什么是虚拟机而不是 syscall 翻译?
目标读者:Linux 背景工程师需维护 Windows 服务、或理解跨平台中间件设计。
必须补全: 1. NT 分层:Executive /
Kernel / HAL,对照 Linux kernel/ 子目录 2.
Object Manager:OBJECT_HEADER、handle
表、命名空间;对照 Linux fd + VFS(引用
#49-open-file-table) 3. IRP 驱动栈:Filter
Driver 插入点、完成例程;对照 #55-vfs-io-path
4. IOCP 完成端口 vs
epoll(#58-epoll-internals)vs
io_uring(#57-io-uring-deep)— 三种模型表格 +
延迟特征(引用公开 benchmark 或本机 iperf
式小实验,标注来源) 5. 进程/线程:EPROCESS/KTHREAD vs
task_struct(引用
#11-task-struct) 6. Registry vs
/etc + sysctl(引用
#94-sysfs-procfs) 7. WSL1 vs WSL2 架构:为什么
WSL2 选 Hyper-V 轻量 VM 8. 工程案例:.NET / SQL Server 在
Windows 上的 IO 路径简述(B 级来源)
来源(A 级): - Russinovich, Solomon, Ionescu — Windows Internals (7th ed.) 对应章节 - Microsoft Docs: I/O Manager, Object Manager - WSL 官方架构文档
实验:在 WSL2 上对比
GetQueuedCompletionStatus 路径不可用时的 Linux
侧等价(io_uring echo server 简单 QPS,声明环境)。
PG 式对照小节:无(本篇本身是对照文)。
第 105 篇:实时 OS 巡礼
核心问题:硬实时系统的「确定性」来自哪里?为什么 Linux PREEMPT_RT 仍不是硬实时?
必须补全: 1. 硬/软/固定实时定义 +
调度可调度性分析(RMA 公式,简要) 2. VxWorks:wind
kernel、优先级抢占、中断延迟数量级(Datasheet A 级) 3.
QNX:微内核消息传递、进程间通信延迟;与 Minix 对照(引用
#03-kernel-architectures) 4.
Zephyr:静态线程栈、Kconfig、ARM Cortex-M 典型部署 5. Linux
PREEMPT_RT:CONFIG_PREEMPT_RT、PI
mutex、threaded IRQ(引用 #22-realtime-sched)
6. 认证:DO-178C / ISO 26262 对 OS 的要求(概念 +
边界,不做法务解读) 7. 选型决策树:何时必须
VxWorks/QNX,何时 PREEMPT_RT 够用
来源:VxWorks/QNX/Zephyr 官方文档;Linux
RT 文档;PREEMPT_RT wiki。
第 106 篇:Unikernel
核心问题:Unikernel 用什么换取性能?为什么没成为主流?
必须补全: 1. 库 OS 模型:单地址空间、无
syscall 边界 2.
代表项目:MirageOS(OCaml)、Unikraft、IncludeOS — 各 1
段机制 + 适用场景 3.
与容器(#100-containers-security)、microVM(containers/10-microvm)三角对比
4. 工具链:交叉编译、静态链接、缺少 POSIX 的后果 5.
真实部署案例(Cloudflare Workers 边界、AWS Nitro Enclaves
不算 Unikernel——写清区别) 6.
失败模式:调试困难、驱动缺失、生态碎片化
来源:Unikraft/MirageOS 论文与文档(A/B 级)。
第 107 篇:Rust for Linux
核心问题:内核为什么需要 Rust?abstraction 如何映射到 C 子系统?
必须补全: 1. 动机:CVE
统计引用(有出处的报告,标注年份)、Memory safety 2.
合并主线时间线:6.1 rust/ 子系统、后续版本能力
3.
关键组件:kernel crate、pin_init、sync::Lock、error
handling (Result) 4. 第一个 Rust
驱动案例路径(如 Apex 或 DRM 相关,标注内核版本) 5. 与 C
互操作:#[no_mangle]、extern "C"、opaque
type 6. 与 #107 同系列的 GCC 插件 / CFI
对照(#99-kaslr-mitigations) 7. 局限:async
在内核、no_std 约束、compile time
源码焦点:rust/kernel/、Documentation/rust/(Linux
6.6+)
第 108 篇:机密计算
核心问题:TEE 保护什么、不保护什么?SGX/SEV/TDX 的 threat model 差异?
必须补全: 1.
威胁模型:云厂商恶意管理员、侧信道(声明不展开攻击细节) 2.
Intel
SGX:Enclave、EPCM、attestation(DCAP);已弃用/deprecated
边界写清 3. AMD SEV/SEV-SNP:内存加密、RMP、VMPL 4. Intel
TDX:与 SGX 定位差异 5. 软件栈:Confidential
Containers、Gramine、Occlum 6. 与
#100-containers-security 的关系:TEE
是容器隔离的下一层还是替代? 7.
性能开销:加密内存带宽损失(引用论文或官方 whitepaper
数字,标注 workload)
来源:Intel/AMD 官方架构手册(A 级);Confidential Computing Consortium 文档。
联动:cryptography/
系列、zero-trust/11-zt-data-security。
第 109 篇:可拆分 OS
核心问题:CXL 内存池化如何改变 OS 假设?disaggregated OS 研究原型做了什么?
必须补全: 1. 资源
disaggregation:计算/内存/存储分离趋势 2. CXL
2.0/3.0:memory expander、CXL.mem 语义 3.
学术原型:LegoOS、PhantomOS、Twilight — 各 1 段机制 4. Linux
已有:CXL 驱动、dax、HMM(Heterogeneous Memory
Management) 5. 与 #39-numa 的关系:NUMA
变成「远内存可池化」 6. 工程现实:2026
生产可用边界(诚实写「大多在实验/早期部署」)
来源:CXL 规范;LegoOS 等论文(A 级)。
第 110 篇:OS 的下一个十年
核心问题:综合 104–109,哪些趋势会改变应用开发者假设?
必须补全(展望文标准可略低,但禁止空泛): 1. 五条趋势各 1 段:Rust 内核、机密计算、CXL/disaggregated、io_uring 统一 IO、eBPF 可编程内核(引用本站已有系列) 2. 每条趋势配「现在能做什么 / 3 年内可能 / 10 年不确定」 3. 对应用开发者的三条建议(具体、可执行) 4. 不预测具体市场份额
依赖:104–109 深化完成后写,或同步草稿但最后定稿。
四、写作顺序
104(Windows)→ 105(RTOS)→ 106(Unikernel)
↓
107(Rust)→ 108(机密计算)→ 109(Disaggregated)
↓
110(展望)
优先写 104:#103 的自然延续,读者路径最直接。
104 与 107 可并行(无依赖)。
五、验收标准
每篇深化后:
六、边界
不承诺
- Windows 内核驱动开发教程
- RTOS 商业授权谈判
- TEE 侧信道攻击复现
- 预测哪家云厂商率先落地 disaggregated OS
规划版本:v1,2026-06-18 下一步:深化
104-windows-internals → 更新
os/index.md 104 条看点
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。