<!-- title: 从零手写操作系统内核七强精读 -->
<!-- domain: programming -->

# 从零手写操作系统内核：七强频道精读

## 本期概述

这是「YouTube优质内容精选」**第2轮**，聚焦分类 **programming（编程与开发）**。

在「Rust系统编程」「编译器与语言实现」「游戏引擎架构」之后，本期选择一个更底层、更"硬核"、却长期被低估的编程子领域——**操作系统内核手写实现（Operating System Kernel from Scratch）**。它不教你怎么用框架，而是逼你直面一个问题：**当没有任何库、没有任何运行时、甚至没有 `printf` 的时候，计算机究竟是怎么一步步"活"起来的？**

本期精选的7个频道/系列，覆盖了从**硬件接线**到**汇编引导**、从**保护模式与GDT**到**分页与堆分配**、从**多任务调度**到**Rust no_std 现代内核**的完整光谱。它们的共同点只有一个字：**从零（from scratch）**——所有代码都在镜头前一行行敲出来，没有黑盒。

**核心发现：**
- **学习曲线呈"三段式"**：硬件基础 → 引导与裸机编程 → 内存/中断/调度核心子系统。没有人能跳过第一段直接写内核。
- **语言阵营分化明显**：老牌教程以 C + x86 汇编为主（生态成熟、资料多）；新锐系列则用 Rust/Zig/C++ 甚至 Jai，强调内存安全与零成本抽象。
- **真正稀缺的不是"怎么做"，而是"为什么"**：最好的频道（Ben Eater、Philipp Oppermann、Casey Muratori）的共同特质，是把 CPU、MMU、中断控制器这些被抽象层遮蔽的硬件，重新摊开给你看。
- **入门门槛仍高，但路径已被前人踩平**：现在的初学者不再需要啃 80 年代的 Kernel Tutorial 残篇，7 条成熟路径任选其一即可启程。

---

## 七强频道对比总览

| # | 频道/系列 | 语言/平台 | 核心定位 | 订阅量级 | 最适合人群 |
|---|----------|----------|---------|---------|-----------|
| 1 | Daedalus Community | C / x86 汇编 | 完整 x86 OS 教学系列 | ~31.4K | 想手把手做完整OS的实战派 |
| 2 | nanobyte | C / GCC 工具链 | 引导器+内核+工具链全栈 | ~30K | 喜欢"每行都讲清楚"的细节控 |
| 3 | Daniel McCarthy（Dragon Zap） | C / 32位保护模式 | 69小时超长系统课 | 课程类 | 想要一站式完整课程的学习者 |
| 4 | Philipp Oppermann（Writing an OS in Rust） | Rust / no_std | 现代安全内核标杆 | GitHub 万星 | Rust 学习者、现代内核方向 |
| 5 | Molly Rocket（Handmade Hero / Casey Muratori） | C / 手写引擎 | 从零无库的大型系统 | 数十万级 | 想理解"无依赖系统"如何运转 |
| 6 | Tsoding / Tsoding Daily（Alexey Kutepov） | C / Zig / Jai 多语言 | 娱乐化底层编程直播 | ~200K+ | 喜欢边看边玩、抗压能力强的极客 |
| 7 | Ben Eater | 汇编 / 面包板硬件 | 从门电路理解计算机 | ~1.3M | 需要补"硬件直觉"的纯软件背景者 |

---

## 逐个深度解读

### 1. Daedalus Community ——「Making an OS (x86)」系列

**频道链接：** https://www.youtube.com/@DaedalusCommunity

这是中文圈和英语圈都频频被推荐的"手把手做操作系统"代表作。其标志性系列《Making an OS (x86)》采用章节式结构，从 Chapter 1 的 **CPU、汇编、启动过程**讲起，一路推进到 **保护模式、GDT（全局描述符表）、交叉编译器、引导器、内核入口、动态内存分配器（malloc）**，几乎覆盖了一个 hobby OS 的全部关键节点。

**核心内容与关键洞察：** 作者最大的优点是"不跳步"——他会把 GDT、IDT 这类初学者最容易卡住的抽象概念，配合实际代码和寄存器状态逐一拆解。比如 Chapter 6 专门讲"进入保护模式与设置 GDT"，把段描述符每一位的含义都画了出来。他还单独做了一个《Making a simple Dynamic Memory Allocator (malloc)》视频，把 `malloc/free` 的边界标记法（boundary tag）实现讲透，这是很多OS教程语焉不详的部分。

**实用价值与应用场景：** 如果你只想跟一个系列、做出一个能在真机/虚拟机上跑起来的 x86 多任务内核，这是路径最清晰的选择之一。配套代码可作嵌入式工程师理解 MMU、RTOS、底层调度的绝佳参考。

**适合人群：** 有 C 语言和基本汇编基础、想动手做一个"能跑的OS"的开发者。

---

### 2. nanobyte ——「Building an OS」系列

**频道链接：** https://www.youtube.com/@nanobyte-dev
**系列播放列表：** https://www.youtube.com/playlist?list=PLFjM7v6KGMpiH2G-kT781ByCNC_0pKpPN

nanobyte 是另一位以"细节控"著称的 OS 开发者。其《Building an OS》系列从环境搭建、交叉编译器（cross-compiler）、freestanding binary 讲起，到 **用 C 写引导器（bootloader）**、迁移到 GCC 工具链，每一步都配以详细解说与屏幕共享代码。

**核心内容与关键洞察：** 这个系列的差异化价值在于**对工具链的深度讲解**。很多初学者卡在第一步——交叉编译环境装不上、链接脚本（linker script）不会写、multiboot header 对不齐。nanobyte 把这些"脏活"讲得明明白白。他还时常穿插"OS开发中无聊但必要的重构"内容，真实呈现了内核开发的真实节奏：80% 时间在搭脚手架，20% 时间才在写"内核"。

**实用价值与应用场景：** 适合作为 Daedalus 的互补——一个讲概念深，一个讲工程细。看完能独立搭建起一套 x86 裸机开发工具链，这是所有后续内核工作的地基。

**适合人群：** 工科思维强、喜欢把环境配置彻底搞懂再动手的工程师。

---

### 3. Daniel McCarthy / Dragon Zap Education ——「Kernel Development Masterclass（69小时）」

**频道链接：** https://www.youtube.com/@DragonZapEducation （及 dragonzap.com 课程站）

这是一个体量惊人的系统化课程——**整整 69 小时**，目标是从零构建一个支持多任务的 32 位内核，并实现 **FAT12 文件系统**。从公开的短视频片段看，内容覆盖保护模式开发、任务切换、用户态/内核态分离等硬核主题。

**核心内容与关键洞察：** Daniel McCarthy 的教学风格偏"课堂录制"，结构完整、循序渐进，适合不喜欢直播式东敲西打的系统化学习者。其 FAT12 文件系统实现部分尤其有价值——大多数OS教程止步于"能在屏幕上打印字符"，而本课程把**磁盘I/O、目录结构、文件读写**都做了完整闭环，让OS真正"能用"。

**实用价值与应用场景：** 适合愿意投入数十小时、追求完整知识体系的学习者；也适合想理解文件系统、磁盘驱动如何落地的存储/固件工程师。

**适合人群：** 偏好付费/系统课程、希望一条龙走完内核+文件系统的开发者。

---

### 4. Philipp Oppermann ——「Writing an OS in Rust」（blog_os）

**项目主页：** https://os.phil-opp.com/
**代码仓库：** https://github.com/phil-opp/blog_os

严格说这是**博客系列**，但其影响力远超任何单一YouTube频道，是现代 hobby OS 开发的**事实标杆**。系列从 freestanding Rust binary、VGA 文本模式、内核测试，一路讲到**中断、堆分配、分页（paging）、异步内核**，每一篇都对应 GitHub 上一个独立分支，可逐步 checkout 复现。

**核心内容与关键洞察：** 这个系列最大的革命性在于——它证明了 **Rust 的内存安全可以在内核态延续**。通过 `#[no_std]`、`core` 库、`alloc` crate，作者展示了在没有任何操作系统支持的条件下，如何用 Rust 的所有权与类型系统构建一个内核。后续版本还引入了 **async/await 在内核态的应用**（基于协作式任务调度），这在传统 C 内核教程里几乎看不到。

**实用价值与应用场景：** 如果你的目标是**现代内核开发**（Rust for Linux 风格、嵌入式 RTOS、安全关键系统），这是必读。它也是最好的 Rust 进阶教材之一——理解 `no_std` 几乎等于理解了 Rust 的所有权模型在最底层的边界。

**适合人群：** Rust 学习者、对内存安全内核、async runtime 实现感兴趣的开发者。

---

### 5. Molly Rocket / Casey Muratori ——「Handmade Hero」

**频道链接：** https://www.youtube.com/@MollyRocket
**完整播放列表：** https://www.youtube.com/playlist?list=PLnuhp3Xd9PYTt6svyQPyRO_AAuMWGxPzU
**个人频道：** https://www.youtube.com/@caseymuratori

Handmade Hero 是一个传奇项目：Casey Muratori **每天直播、从零开始**，用一个游戏引擎+游戏的全过程，演示了"不依赖任何第三方库"的软件开发哲学。虽然主题是游戏，但其对**内存管理、平台层抽象、热重载、性能优化、手写渲染**的讲解，本质上就是一次大型的系统编程教学。

**核心内容与关键洞察：** Casey 最著名的论断是 **"Data-Oriented Design（面向数据设计）"** 与对 **OOP 过度抽象的批判**（代表作《The Big OOPs: Anatomy of a Thirty-five-year Mistake》在 2025 Better Software Conference 再次引发热议）。他的核心方法论：**先想清楚数据如何在内存中布局，再谈代码结构**。这种思维方式对内核开发同样适用——缓存命中率、内存对齐、分支预测，都建立在"数据怎么摆放"之上。

**实用价值与应用场景：** Handmade Hero 是理解"无依赖系统如何从零运转"的最佳教材。完整档案达数百集，是耐心者的宝库。其平台层（platform layer）抽象手法，直接可迁移到 OS 内核的 HAL 设计。

**适合人群：** 追求极致性能、想理解软件与硬件真实交互、有大量时间投入的资深开发者。

---

### 6. Tsoding / Tsoding Daily（Alexey Kutepov）

**频道链接：** https://www.youtube.com/tsoding （主频道）
**日志频道：** https://www.youtube.com/c/TsodingDaily （~204K–208K 订阅）

Tsoding 自称做的是 **"Recreational Programming"（娱乐性编程）**——这是一位俄裔程序员以直播形式进行的底层/系统编程"真人秀"。他在频道上用 C、Zig、Jai、Python 等多语言实现各种有趣项目，包括自研语言、模拟器、底层工具，并经常即兴重构。

**核心内容与关键洞察：** Tsoding 的价值不在于某一条固定教程路径，而在于**展示了真实程序员的工作状态**：犯傻、调试、推翻重来、吐槽。其播放量最高的视频之一《Writing the Worst Code of My Life》以及《I rewrote my entire project in Jai》都体现了一种反教条的态度——**代码先跑通，再谈优雅**。对内核学习者的启发是：不必追求一开始就写出完美内核，"丑陋但能跑"也是合法的中间态。

**实用价值与应用场景：** 适合作为正课之外的"佐餐"——在你被 GDT 搞崩溃时，看 Tsoding 边写边骂，能极大缓解焦虑。他对自研语言/字节码 VM 的实现，对理解内核中的解释器、调度器很有启发。

**适合人群：** 抗压能力强、喜欢娱乐化学习氛围、对语言实现感兴趣的极客。

---

### 7. Ben Eater ——「8-bit Computer & 6502」系列

**频道链接：** https://www.youtube.com/@BenEater

Ben Eater 是这套清单里**最特别的一位**——他不写 OS，却几乎是所有 OS 学习者的"必修前置课"。他的代表作是用面包板（breadboard）**从门电路搭建一台 8 位计算机**，并讲解 6502 CPU、RAM、ALU、总线、微指令的工作原理；此外还有 TCP/IP 网络协议从底层拆解的系列。

**核心内容与关键洞察：** 为什么 OS 学习者要看 Ben Eater？因为**操作系统本质上是"管理硬件"的程序**，而不理解 CPU 怎么取指执行、MMU 怎么做地址翻译、中断引脚怎么触发，"内核"就永远是一团抽象。Ben Eater 用最直观的方式——你能**看见**每一根线、**看见**时钟脉冲、**看见**寄存器变化——把被抽象层掩盖的硬件直觉还给你。他的讲解节奏之慢、之清晰，被公认为计算机科学普及的天花板。

**实用价值与应用场景：** 强烈建议在动手写内核**之前**先看完 8-bit computer 系列（约 1–2 周）。它会让你之后理解保护模式、分页、中断向量时，有一种"哦，原来如此"的通透感。

**适合人群：** 纯软件背景、缺乏硬件直觉的所有开发者——无论是否打算写内核。

---

## 本期知识结构图

下图呈现7个频道与操作系统内核核心知识域的映射关系，以及建议的学习路径分层：

```mermaid
graph TD
    Goal["目标：从零写出一个能跑的OS内核"]

    subgraph L1["第1层 · 硬件直觉（前置必看）"]
        BE["Ben Eater<br/>面包板 8-bit 计算机<br/>6502 / 门电路 / 总线"]
    end

    subgraph L2["第2层 · 引导与裸机编程"]
        DA["Daedalus Community<br/>GDT / IDT / 保护模式"]
        NB["nanobyte<br/>交叉编译器 / 引导器 / 工具链"]
        DM["Daniel McCarthy<br/>多任务内核 + FAT12"]
    end

    subgraph L3["第3层 · 现代内核与抽象思想"]
        PO["Philipp Oppermann<br/>Rust no_std / 分页 / async"]
        MH["Handmade Hero<br/>面向数据设计 / 平台层"]
    end

    subgraph L4["第4层 · 心态与娱乐佐餐"]
        TS["Tsoding<br/>真实编程状态 / 反教条"]
    end

    Goal --> L1
    BE -->|"理解CPU/内存后才能动手"| L2
    DA -.互补.-> NB
    NB -.互补.-> DM
    L2 -->|"概念扎实后升级"| L3
    PO -.风格对照.-> MH
    L3 --> L4
    TS -.全程佐餐.-> L2
    TS -.全程佐餐.-> L3

    classDef layer1 fill:#e3f2fd,stroke:#1976d2,stroke-width:2px;
    classDef layer2 fill:#fff3e0,stroke:#f57c00,stroke-width:2px;
    classDef layer3 fill:#e8f5e9,stroke:#388e3c,stroke-width:2px;
    classDef layer4 fill:#fce4ec,stroke:#c2185b,stroke-width:2px;
    class BE layer1;
    class DA,NB,DM layer2;
    class PO,MH layer3;
    class TS layer4;
```

**内核子系统与频道对照：**

```mermaid
graph LR
    subgraph Kernel["操作系统内核核心子系统"]
        Boot["引导 Boot/Loader"]
        Mem["内存管理 MMU/分页/堆"]
        IRQ["中断与异常 IDT/ISR"]
        Sched["进程/线程调度"]
        FS["文件系统与磁盘IO"]
        SysC["系统调用 用户/内核态"]
    end

    BE2["Ben Eater"] --> IRQ
    DA2["Daedalus"] --> Boot
    DA2 --> Mem
    DA2 --> IRQ
    NB2["nanobyte"] --> Boot
    NB2 --> Mem
    DM2["Daniel McCarthy"] --> Sched
    DM2 --> FS
    PO2["Philipp Oppermann"] --> Mem
    PO2 --> IRQ
    PO2 --> SysC
    MH2["Handmade Hero"] --> Mem
    MH2 --> Sched
```

---

## 学习路径建议（务实版）

1. **第 0–2 周：建硬件直觉**。看 Ben Eater 的 8-bit 计算机系列（约 40 集），建立"代码如何变成电信号"的物理图景。
2. **第 3–8 周：跟一个完整 x86 系列**。Daedalus 或 nanobyte 任选其一作为主线，另一个作查漏补缺的参考。目标是让一个能在 QEMU/真机启动的"Hello Kernel"跑起来。
3. **第 9–14 周：补齐核心子系统**。用 Daniel McCarthy 的课程补 FAT12/调度，或转向 Philipp Oppermann 用 Rust 重写内核，体会内存安全的现代写法。
4. **长期：思想升级**。有空就翻 Handmade Hero，吸收面向数据设计；累了就开 Tsoding 直播解压。

**关键提醒：** 写内核最大的敌人不是难度，而是**环境配置**（交叉编译器、QEMU、GRUB/multiboot、链接脚本）。前两周最容易卡在这一步——不要怀疑自己的智商，这是所有人共同的"新手村"。

---

## 延伸推荐

1. **OSDev Wiki（wiki.osdev.org）** —— hobby OS 开发的"圣经级"参考，查 GDT/IDT/ACPI 任何细节必去之处。
2. **MIT OpenCourseWare 6.S081 / 6.828（Operating System Engineering）** —— 学术殿堂级课程，配套 xv6 教学内核与经典论文（Paging、Virtual Memory、Scheduling）研读，把"工程实现"升华为"原理理解"。
3. **"Operating Systems: Three Easy Pieces"（OSTEP）** —— 免费在线教材，用对话体讲清虚拟化、并发、持久化三大主题，是理论侧的最佳补充。
4. **Write Your Own 64-bit OS Kernel 系列** —— 较新的现代 64 位长模式内核教程，适合想跳过 16/32 位历史包袱、直奔 64 位的开发者。
5. **OSDev Subreddit / Discord 社区** —— 遇到奇怪崩溃时，这里通常能在几小时内给出指向性建议。

---

## 参考来源

1. [Daedalus Community — Making an OS (x86) Chapter 1](https://www.youtube.com/watch?v=MwPjvJ9ulSc) — 完整 x86 操作系统章节式教学系列起点，验证频道定位与 31K+ 订阅体量。
2. [nanobyte — Building an OS 播放列表](https://www.youtube.com/playlist?list=PLFjM7v6KGMpiH2G-kT781ByCNC_0pKpPN) — 引导器/工具链/内核全栈系列，验证其对交叉编译与工程细节的覆盖。
3. [Philipp Oppermann — Writing an OS in Rust](https://os.phil-opp.com/) 与 [GitHub phil-opp/blog_os](https://github.com/phil-opp/blog_os) — Rust no_std 现代内核标杆，验证分篇逐步可复现的教学结构。
4. [Molly Rocket — Handmade Hero Complete 播放列表](https://www.youtube.com/playlist?list=PLnuhp3Xd9PYTt6svyQPyRO_AAuMWGxPzU) 与 [Casey Muratori 个人频道](https://www.youtube.com/@caseymuratori) — 验证"从零无库"系统开发与面向数据设计主张。
5. [Ben Eater 频道](https://www.youtube.com/@BenEater) 与 [MIT OCW 6.828 Operating System Engineering](https://ocw.mit.edu/courses/6-828-operating-system-engineering-fall-2012/) — 分别验证"硬件直觉前置课"与"学术原理补充"两个延伸方向。

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护，聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。
> 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
