<!-- title: 从零写操作系统七大频道精读 -->
<!-- domain: programming -->

# 从零写操作系统七大频道精读

> 第 2 轮精选 · 分类：programming（编程与开发）
> 本轮焦点：操作系统与内核开发（OS & Kernel Development from Scratch）

## 本期概述

写一个自己的操作系统，曾被视作"计算机科学的圣杯"——它要求你从一加电的瞬间开始思考：CPU 怎么从 `0xFFFFFFF0` 跳到你的第一条指令？中断向量表怎么搭？分页内存怎么把虚拟地址翻译成物理地址？调度器怎么在一个核上"假装"同时运行上百个进程？

2026 年，这件事比以往任何时候都更"可达"。原因有三：第一，工具链现代化（Rust + `bootimage` + QEMU 让你十分钟跑起一个能打印 "Hello" 的内核）；第二，社区沉淀成熟（OSDev Wiki、Philipp Oppermann 的博客、Handmade Network 形成了完整的学习地图）；第三，YouTube 上出现了一批把"啃手册"过程完整录下来的创作者。本期精读七个最具代表性的频道/系列，覆盖 C、汇编、Rust 三大技术栈，从"跟着敲"的教程派到"全程直播手搓"的硬核派一应俱全。

核心发现：**这一领域没有捷径，但有最佳路径顺序**——先用 Nanobyte/Daedalus 建立"能跑起来"的成就感，再用 Creel 补汇编底子，然后跟 Philipp Oppermann 学现代 Rust 内核工程，最后用 Handmade Hero 与 Tsoding 锻造"不依赖任何库"的系统编程心智。

## 七大频道对比一览

| 频道 / 系列 | 语言/技术栈 | 风格定位 | 最适合人群 | 起步难度 |
|---|---|---|---|---|
| **Daedalus Community** | C / C++、x86 | 系统化课程、循序渐进 | 想要"一条龙"教程的零基础 OS 开发者 | ★★☆☆☆ |
| **Nanobyte** | C、x86 | 可视化讲解、节奏明快 | 喜欢画面感与结构图的初学者 | ★★☆☆☆ |
| **CodePulse（Daniel McCarthy）** | C、汇编 | 课程+直播、配套付费体系 | 想深入内核又愿意系统付费学习的人 | ★★★☆☆ |
| **Creel** | x86 汇编 | 汇编优先、性能视角 | 想打通"汇编→内核"底层脉络的人 | ★★★☆☆ |
| **Molly Rocket / Handmade Hero** | C、手写一切 | 哲学级、零库依赖 | 追求"理解每一行底层代码"的硬核开发者 | ★★★★☆ |
| **Tsoding（rexim）** | C、Rust 等 | 娱乐化直播、DankOS | 喜欢"边看大佬造轮子边学"的人 | ★★★★☆ |
| **Writing an OS in Rust（Philipp Oppermann）** | Rust | 文章为主、视频为辅 | 想用现代工具链做内核的工程师 | ★★★☆☆ |

---

## 一、Daedalus Community — 把"从零搭内核"拆成可执行课表

**频道主页**：https://www.youtube.com/@DaedalusCommunity

Daedalus Community 是 OS 开发教程圈里最"教科书化"的存在之一。它的播放列表几乎覆盖了写一个 x86 内核所需的每一个里程碑：从 BIOS 引导、写 bootloader、设置 GDT、切换到 32 位保护模式，到迁移到 C/C++、配置交叉编译器与链接器脚本，再到中断（IDT/ISR）、物理内存管理（页帧分配）、虚拟内存分页与堆分配。

**关键洞察**：
- 它强调**交叉编译工具链是第一道坎**。很多人卡在"明明代码对、就是链接报错"，根因是用了宿主机的 GCC 而非 `x86_64-elf` 目标工具链。频道用专门的篇幅讲清 host/target triplet 的意义。
- **保护模式切换的"三件套"**（关中断→加载 GDT→置 CR0 的 PE 位）被讲得极具操作性，跟着敲就能让 CPU 真正进入 32 位世界。
- 频道内容与社区项目 DaedalusOS（一个受 NT 启发、Rust 编写的模块化内核）联动，让"学完之后能往哪走"有了清晰答案。

**实用价值**：如果你想要"我不看十本书，就想有人带我一行行把内核敲出来"，这是首选起点。配套 GitHub 仓库可以对照每一集的 commit，便于卡壳时 diff 排错。

**适合人群**：有 C 语言基础、想第一次真正写出"属于自己的操作系统"的开发者。

---

## 二、Nanobyte — 用动画把抽象的内核概念变"可见"

**频道主页**：https://www.youtube.com/@nanobyte-dev
**配套代码**：https://github.com/nanobyte-dev/nanobyte_os

Nanobyte 的招牌是 "Building an OS" 系列。它的差异化优势不在"讲得更全"，而在**讲得更直观**：内存分页的二级页表、段描述符的位布局、中断发生时栈帧的结构，这些在文字教材里是一团位运算，在 Nanobyte 这里是被一帧帧动画拆解的可视对象。

**关键洞察**：
- **"先看懂图，再写代码"** 是它贯穿始终的方法论。许多观众反馈：看过页表动画之后，再读 OSDev Wiki 的代码就不会再"望码生畏"。
- 节奏比 Daedalus 更轻快，单集聚焦一个概念，适合碎片化学习，也适合作为"看不懂教材时的旁白解说"。
- 开源仓库 `nanobyte_os` 提供按章节组织的完整代码，是一个干净、可读、便于二次改造的"教学内核"骨架。

**实用价值**：把"内核开发"从 daunting（令人生畏）变为 approachable（可上手）。对自学者而言，降低的心理门槛比多讲两个特性更值钱。

**适合人群**：视觉型学习者、被传统 OS 教材劝退过的人、需要给学生/读者做直观演示的技术布道者。

---

## 三、CodePulse / Daniel McCarthy — 教程之外的"系统化付费路径"

**频道主页**：https://www.youtube.com/@CodePulse
**付费课程站**：Dragon Zap（dragonzap.com）

CodePulse 由资深软件工程师 Daniel McCarthy 运营，他的自我介绍是"涵盖编程语言开发、操作系统开发等广泛主题"。在 OS 方向，他有一套知名的 "Kernel Development From Scratch" 播放列表，并时常在**直播里直接写内核**（`#kernel #osdev #assembly #x86`），让观众看到真实排错过程而非剪辑后的"丝滑版本"。

**关键洞察**：
- **从内核到编译器的完整闭环**。Dragon Zap 还提供 "Creating A C Compiler From Scratch" 等课程，意味着学习者可以同时理解"被编译的程序"与"运行程序的内核"，形成对系统软件的全景认知。
- 直播切片保留了"踩坑—调试—顿悟"的真实链条，这种**未经美化的工程过程**恰恰是新手最缺的参考——它告诉你"卡住是常态"。
- 配套付费体系提供练习、答疑与项目评审，适合需要外部约束和反馈闭环的学习者。

**实用价值**：适合把 YouTube 当"试听"、再决定是否投入系统化付费学习的路径；也适合喜欢"看真人实时 debug"的观众。

**适合人群**：愿意为结构化学习付费、希望有练习与答疑支撑、对"内核+编译器"双修感兴趣的开发者。

---

## 四、Creel（@WhatsACreel）— 让汇编成为内核开发的第一语言

**频道主页**：https://www.youtube.com/@WhatsACreel

Creel 的频道简介一句话点题："我想证明手写汇编并不难，在很多方面甚至比高级语言更合理。"在 OS 开发语境下，这个立场尤为珍贵——因为内核的最初几百行、启动扇区、上下文切换、内联汇编与硬件交互，本质上都是汇编问题。

**关键洞察**：
- **汇编是绕不开的"地基"**。Creel 不把汇编当孤立技能教，而是和操作系统、性能优化、逆向理解绑定，让你明白"为什么内核代码里夹着 `asm volatile`"。
- 强调**用汇编理解硬件契约**：寄存器约定、调用规约（calling convention）、栈帧布局，这些在 x86 内核开发里是日常。
- 性能视角（与高级语言对比）让学习者体会到"低层不是负担，而是权力"——你能精确控制每一个时钟周期与每一字节内存。

**实用价值**：补齐"看得懂 C 但看不懂内联汇编"的短板，是从"会写内核功能"到"真正理解内核机制"的关键一跃。

**适合人群**：已有一定 C/内核基础、想彻底打通汇编与硬件脉络的开发者；做性能优化、嵌入式、逆向方向的工程师。

---

## 五、Molly Rocket / Handmade Hero — "不依赖任何库"的系统编程修行

**频道主页**：https://www.youtube.com/@MollyRocket
**项目站点**：https://hero.handmade.network/

Handmade Hero 是传奇游戏引擎开发者 Casey Muratori 的封神之作：从零开始，**不使用任何第三方库**，手写一个达到商业品质的游戏与引擎，全程录像、逐日（Day 001 起）推进，至今已是数百集的浩瀚工程。严格说它不是"写操作系统"，但它对 OS 开发者的价值无可替代——它训练的是同一种心智：**自己掌控从内存分配、窗口系统、输入处理到渲染的每一行底层代码**。

**关键洞察**：
- **"亲手造一遍，才算真正理解。"** Casey 反复示范"标准库/运行时帮你藏起来的东西"，而这恰恰是 OS 内核每天在做的事——内核没有标准库可用，每一寸都得自己写。
- Reddit 上有高赞评论称 Handmade Hero 是"有史以来最伟大的编程资源之一"，并坦言"是他让我爱上了底层编程"。其影响力可见一斑。
- 它强调**性能与可预测性**：手写内存池、避免隐藏的堆分配、精确的帧时控制，这些纪律直接迁移到内核的实时性、调度延迟、确定性需求。
- 衍生的 Handmade Network 社区聚集了大量"从零造软件"的项目，是 OS/底层开发者的精神家园。

**实用价值**：与其说是学某个 API，不如说是重塑编程世界观——理解"软件依赖的每一层是如何被建造的"，这正是写内核的核心素养。

**适合人群**：追求深度理解、不满足于"调库"的硬核开发者；做游戏引擎、实时系统、高性能系统软件的工程师。

---

## 六、Tsoding（rexim）— 边直播边造内核的"娱乐化硬核"

**频道主页**：https://www.youtube.com/@AlexanderOleynikov（Tsoding）
**Twitch**：https://www.twitch.tv/tsoding
**个人站**：https://rexim.github.io/

Tsoding（真名 Alex Oleynikov，网名 rexim/Zozin）自称"Recreational Programmer（娱乐化程序员）"。他的标志性内容是在 Twitch 直播里**从零搓各种系统级项目**，包括自制操作系统 DankOS、自研编程语言、自研编辑器等，再把录像搬到 YouTube。GitHub 上 tsoding 拥有 300+ 仓库。

**关键洞察**：
- **真实工程过程 > 精心剪辑**。Tsoding 会在镜头前坦承"我不知道这个怎么写"，然后现场查手册、读 Intel SDM、试错、重构。这种"可见的思考过程"是教科书给不了的。
- 跨语言系统编程：C、Rust、各种自制语言混用，让观众看到"语言只是工具，系统思想才是核心"。
- DankOS 等项目虽偏实验性，却完整展示了"一个能引导、能打印、能处理输入的最小内核"如何从无到有。
- 强调"为乐趣而编程"——这与 OS 开发的内在动机高度契合：没有 KPI 驱使你写内核，纯靠好奇心。

**实用价值**：当你在自己写内核时卡住、怀疑人生，看一段 Tsoding 的直播会让你意识到"高手也在挣扎、也在查文档"，从而重拾信心与方法。

**适合人群**：已经入门、想看"高水平开发者如何从零推进一个真实系统项目"的学习者；孤独的自学者（直播社区提供陪伴感）。

---

## 七、Writing an OS in Rust（Philipp Oppermann）— 现代 OS 开发的"事实标准"

**博客**：https://os.phil-opp.com/
**代码**：https://github.com/phil-opp/blog_os
**视频讲解**：YouTube 上有多位创作者基于该系列制作 walkthrough（如 "Rust OS" 播放列表）

严格意义上这是一篇"博客系列"而非单一频道，但它是 2026 年 Rust 内核开发领域**被引用最多、被视频化最多**的源头资源——blog_os 仓库在 GitHub 收获约 17.5k stars，几乎所有 Rust OS 教程视频都建立在它之上。鉴于"OS 精选"绕不开它，且它已通过大量 YouTube 讲解视频成为视频学习生态的一部分，本期将其纳入。

**关键洞察**：
- **用 Rust 的类型系统把"未定义行为"挡在编译期**。`unsafe` 的显式标注、所有权模型避免悬垂指针，让内核这种"裸机 + 手动内存管理"的场景首次获得强保障。
- 工具链现代化：`bootloader` crate、`bootimage` 工具、QEMU 一键运行，把"配环境"从数天压缩到数分钟。
- 章节结构堪称范本：从 "A Freestanding Rust Binary" → "Minimal Rust Kernel" → VGA 文本 → 中断 → 堆分配 → 分页 → 协作调度，每篇都是独立、可运行、带测试的里程碑。
- 中文社区对其已有大量翻译与解读，是中文学习者进入 Rust OS 的最优起点。

**实用价值**：如果你只读一个资源就开始写内核，选它。它是"现代内核工程实践"的浓缩，远不止"能跑"，而是"能测、能维护、能演进"。

**适合人群**：有 Rust 基础、想用现代工具链构建内核的工程师；想做 Rust 嵌入式 / `no_std` / 固件开发的开发者。

---

## 知识结构图：七大频道如何串成一条学习路径

```mermaid
flowchart TD
    A[起点: 想自己写一个操作系统] --> B{选择起步方式}

    B -->|要成就感/可视化| C[Nanobyte<br/>动画化内核概念]
    B -->|要系统化教程| D[Daedalus Community<br/>x86 C 内核一条龙]
    B -->|要付费+答疑| E[CodePulse / Daniel McCarthy<br/>内核+编译器双修]

    C --> F[补底层: 汇编]
    D --> F
    E --> F
    F --> G[Creel<br/>x86 汇编与硬件契约]

    G --> H{选择语言栈}
    H -->|现代 Rust| I[Writing an OS in Rust<br/>Philipp Oppermann]
    H -->|C / 零库依赖哲学| J[Handmade Hero<br/>Casey Muratori]
    H -->|直播看真实过程| K[Tsoding<br/>DankOS 娱乐化硬核]

    I --> L[进阶方向]
    J --> L
    K --> L

    L --> M[分布式系统 / 嵌入式 / 固件]
    L --> N[编译器与语言运行时]
    L --> O[游戏引擎与高性能系统软件]

    style C fill:#e3f2fd
    style D fill:#e3f2fd
    style I fill:#fff3e0
    style J fill:#fce4ec
```

## 学习方法论小结

把七个频道的共性提炼为四条原则：

1. **先让它跑起来，再让它变漂亮。** Nanobyte 与 Daedalus 的价值正在于快速给出"我的内核在 QEMU 里打印了我的名字"的多巴胺。
2. **底层不可跳过。** Creel 提醒你：不理解汇编，就永远在"调库"，而非"写系统"。
3. **拥抱工具链现代化。** Philipp Oppermann 证明，Rust + 现代构建工具能让内核开发从"玄学"变"工程"。
4. **看真实过程，而非剪辑后的完美。** Tsoding 与 Handmade Hero 的核心馈赠，是让你看见高手也在查手册、也在挣扎。

```mermaid
mindmap
  root((操作系统与内核开发))
    系统化教程
      Daedalus Community
      Nanobyte
    汇编与硬件
      Creel
    现代工具链
      Writing an OS in Rust
    零库依赖哲学
      Handmade Hero
    直播真实过程
      Tsoding
    核心能力
      引导与保护模式
      中断与调度
      内存与分页
      工具链与交叉编译
```

## 延伸推荐（5 个相关资源）

- **OSDev Wiki（wiki.osdev.org）** — OS 开发的"活字典"，几乎所有 YouTube 频道的底层数据来源，遇到硬件细节必查。
- **Ben Eater（@BenEater）** — 用面包板从零搭出一台 8 位计算机，是理解"内核之下硬件如何工作"的最佳前置。
- **LiveOverflow（@LiveOverflow）** — 从底层与安全视角切入系统软件，与内核开发形成互补。
- **DaedalusOS / Handmade Network 项目集** — 看真实社区如何把"教学内核"演进成可用的系统软件。
- **Neso Academy Operating System 播放列表** — 偏理论（调度算法、内存管理概念），适合与"动手派"频道搭配，补足课堂理论。

## 参考来源

1. [Daedalus Community — YouTube](https://www.youtube.com/@DaedalusCommunity) — C/C++ x86 内核从零教程，覆盖 GDT、保护模式、分页等。
2. [Nanobyte — YouTube / nanobyte_os GitHub](https://github.com/nanobyte-dev/nanobyte_os) — "Building an OS" 系列及配套教学内核代码。
3. [CodePulse — YouTube / Dragon Zap](https://www.youtube.com/@CodePulse) — Daniel McCarthy 的内核与编译器从零课程及直播。
4. [Creel (@WhatsACreel) — YouTube](https://www.youtube.com/@WhatsACreel) — x86 手写汇编与系统编程教学。
5. [Molly Rocket / Handmade Hero](https://hero.handmade.network/) — Casey Muratori 零库依赖、逐日录像的底层系统开发工程。
6. [Tsoding — Twitch / GitHub](https://github.com/tsoding) — rexim 的娱乐化系统级直播项目（含 DankOS）。
7. [Writing an OS in Rust — Philipp Oppermann](https://os.phil-opp.com/) — Rust 内核开发的事实标准博客系列（blog_os）。
8. [Reddit: Handmade Hero is the Greatest Programming Resource](https://www.reddit.com/r/gamedev/comments/15h3l4n/handmade_hero_is_the_greatest_programming/) — 社区对其价值的高赞讨论。

---
> 本文由「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)
