第 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 | 文章为主、视频为辅 | 想用现代工具链做内核的工程师 | ★★★☆☆ |
频道主页: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 语言基础、想第一次真正写出"属于自己的操作系统"的开发者。
频道主页: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 教材劝退过的人、需要给学生/读者做直观演示的技术布道者。
频道主页: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"的观众。
适合人群:愿意为结构化学习付费、希望有练习与答疑支撑、对"内核+编译器"双修感兴趣的开发者。
频道主页:https://www.youtube.com/@WhatsACreel
Creel 的频道简介一句话点题:"我想证明手写汇编并不难,在很多方面甚至比高级语言更合理。"在 OS 开发语境下,这个立场尤为珍贵——因为内核的最初几百行、启动扇区、上下文切换、内联汇编与硬件交互,本质上都是汇编问题。
关键洞察:
- 汇编是绕不开的"地基"。Creel 不把汇编当孤立技能教,而是和操作系统、性能优化、逆向理解绑定,让你明白"为什么内核代码里夹着 asm volatile"。
- 强调用汇编理解硬件契约:寄存器约定、调用规约(calling convention)、栈帧布局,这些在 x86 内核开发里是日常。
- 性能视角(与高级语言对比)让学习者体会到"低层不是负担,而是权力"——你能精确控制每一个时钟周期与每一字节内存。
实用价值:补齐"看得懂 C 但看不懂内联汇编"的短板,是从"会写内核功能"到"真正理解内核机制"的关键一跃。
适合人群:已有一定 C/内核基础、想彻底打通汇编与硬件脉络的开发者;做性能优化、嵌入式、逆向方向的工程师。
频道主页: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,不如说是重塑编程世界观——理解"软件依赖的每一层是如何被建造的",这正是写内核的核心素养。
适合人群:追求深度理解、不满足于"调库"的硬核开发者;做游戏引擎、实时系统、高性能系统软件的工程师。
频道主页: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 的直播会让你意识到"高手也在挣扎、也在查文档",从而重拾信心与方法。
适合人群:已经入门、想看"高水平开发者如何从零推进一个真实系统项目"的学习者;孤独的自学者(直播社区提供陪伴感)。
博客: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 / 固件开发的开发者。
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
把七个频道的共性提炼为四条原则:
mindmap
root((操作系统与内核开发))
系统化教程
Daedalus Community
Nanobyte
汇编与硬件
Creel
现代工具链
Writing an OS in Rust
零库依赖哲学
Handmade Hero
直播真实过程
Tsoding
核心能力
引导与保护模式
中断与调度
内存与分页
工具链与交叉编译
本文由「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 等场景全覆盖。
