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

操作系统百科 · 尾部深化计划(第 104–110 篇)

目录

操作系统百科 · 尾部深化计划(第 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 cratepin_initsync::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 可并行(无依赖)。


五、验收标准

每篇深化后:


六、边界

不承诺


规划版本:v1,2026-06-18 下一步:深化 104-windows-internals → 更新 os/index.md 104 条看点

同主题继续阅读

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

2026-04-22 · os

操作系统百科

Linux 6.x 视角下的操作系统系列索引:110 篇覆盖调度、虚拟内存、文件系统与 I/O、并发、隔离、可观测性,按主题、阅读路径与关键问题三种入口组织。

2026-04-17 · os

操作系统百科

110 篇长文,从操作系统的基础抽象到调度、虚拟内存、文件系统、并发、安全、前沿方向。以 Linux 6.x 主线为实现参照,辅以 FreeBSD、XNU、Windows NT、实时 OS 的对照。


By .