Skip to content

前置卷 · primer:在读正文 001 之前

正文 001 · 实模式引导 开篇就假设你读得懂 AT&T 汇编、懂段/分页、会用 CMake + 链接脚本 + objcopy。对很多人这是最大的劝退点——机器一个字节还没跑,先被一堆陌生工具和语法劝退。这一卷就是补这个缺口:横切的基础知识,不绑任何 git tag,读完你能无障碍进正文 001。

这卷是给谁的

  • 会一点 Linux 命令行、写过简单 C/C++,但没读过 AT&T 汇编、不懂段/分页、没用过链接脚本的人。
  • 看过一些 NASM/Intel 汇编教程,但正文 .S 全是 GAS/AT&T,对不上号的人。
  • 想直接 make run 把项目跑起来,却被 CMake toolchain / objcopy / QEMU 镜像挡住的人。

如果你已经熟练这些,可以直接跳到 正文 001,前置卷点到为止、不重复正文。

怎么读

建议按"先能跑、再能读、后能写"的顺序:

text
01 工具链(能 cmake --build 出 cinux.img、make run 起黑屏)
   └─▶ 02 汇编(能逐行读懂 mbr.S / interrupts.S / context_switch.S)
        └─▶ 03 C/C++(能看懂 004 起的 C++ 内核:freestanding 子集、stub、内联汇编)

三大模块各自独立,不强制顺序;但工具链先行最省事——先把环境跑通,后面随时能 make run 验证想法。读完这三块,正文 001–004 的门槛就拆掉了。

三大模块

规划中的 04 体系结构(实/保护/长三种模式)与 05 操作系统前置概念(内核/ring/中断/进程地图)尚未落笔,等三模块稳定后补齐。这两块正文 001–003 会带着源码讲透,缺了它们不挡路,只是少一张"先看全景"的地图。

读完这三块,下一站就是正文 001 · 实模式引导:让 BIOS 把你写的第一段汇编从磁盘读进 0x7C00,点亮黑屏。从那里起,我们写的每一行代码都会真实地在虚拟机里跑起来。

035_multi_terminal-40-g5d72b8b · 5d72b8b · 2026-06-26