1.3 页表:连接虚拟与物理的桥梁

1.3 页表:连接虚拟与物理的桥梁 本篇目标:理解页表如何将虚拟地址翻译为物理地址。我们将深入 x86_64 的五级页表结构(PGD → P4D → PUD → PMD → PTE),解析 PTE 中的标志位含义,并通过/proc/pid/pagemap实验亲眼看到这种映射。HMM 的核心函数hmm_range_fault()正是通过遍历页表来提取每一页的 PFN——页表是它工作的"现场"。1. 承上启下:VMA、页帧与页表的关系前两篇我们建立了内存管理的两端:第 1 篇(VMA):虚拟地址空间被划分为多个 VMA,每个 VMA 描述一段虚拟地址的属性(可读/可写/可执行等)第 2 篇(struct page / PFN):物理内存被划分为 4KB 页帧,每个页帧有一个 PFN 编号和对应的struct page元数据但虚拟地址如何实际转换为物理地址?答案是页表(Page Table)。VMA 说"这段地址可读写" │ ▼ 虚拟地址 0x7fff12345678 │ │