同步上游 Booting 4 的四级页表地址拆分图示

Author: mudongliangCreated Sep 1, 2026Updated Sep 1, 2026
Labelsenhancementgood first issue

背景

中文版本 Booting/linux-bootstrap-4.md 直接进入早期 4 GB 页表的构建过程,缺少上游后来增加的“48 位虚拟地址如何分解并逐级索引四级页表”的图示和过渡说明。

上游新增了 Booting/images/early-page-table.svg,并解释每组 9 位索引、每级 512 个表项和 4 KiB 页表之间的关系:

目标

把四级页表地址拆分图和最小必要解释同步到中文版本,为后续早期页表构建代码提供直观背景。

实现范围

  • 同步 Booting/images/early-page-table.svg
  • 在“初期页表初始化”小节中加入图示和相邻的四级页表地址拆分说明;
  • 说明只使用 48 位虚拟地址、每级 9 位索引、512 个表项和 4 KiB 页表之间的关系;
  • 简要注明现代 x86_64 还支持五级页表,但本小节仍以四级页表为讨论范围;
  • 保留后续已有的中文页表构建过程,除非为衔接新说明必须做小范围修正。

非目标

  • 不重译整个 Booting 第四节;
  • 不同步内核重定位或 startup_32 的其他新增图示;
  • 不把局部图示同步标记为整篇已更新到 Linux 7.2。

验收标准

  • early-page-table.svg 已加入仓库并在 mdBook 中正常显示;
  • 中文说明准确对应图中的四级索引结构;
  • 新说明与后续 4 GB 早期映射过程衔接自然且没有概念冲突;
  • PR 描述注明采用的上游 commit 和局部同步范围;
  • mdbook build 成功,git diff --check 无错误。

Source: hust-open-atom-club/linux-insides-zh