我对 X86-64 架构中的 4 级页面布局感到困惑。在 Linux 源代码实现中,他们使用: PGD(页面全局目录) --> PUD(页面上层目录) --> PMD(页面中层目录) --> PTE
然而,我还发现了另一种 X86 架构的四级页面布局: PML4(L4) --> PDP(L3) --> PD(L2) --> PTE(L1)
那么,有没有人知道这两种页面布局的区别呢?我可以将 PML4 视为与 PGD 相同的组件吗?如果是这样,CR3 (PDBR) 实际上包含 PGD 的地址,对吗?
如有详细解答,将不胜感激!提前致谢!
最佳答案
我在这里回答我自己的问题:
多级页表结构在现代架构中非常普遍。 描述4级分页布局的通用术语是:PGD-PUD-PMD-PTE,这是一个广泛使用的通用术语。 Linux系统源码其实也是用这些术语来定义分页结构。
但是,英特尔使用自己的术语:PML4(L4) - PDP(L3) - PD(L2) - PTE(L1)。
这两者的思路是一样的!
关于linux - 页面映射布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42307673/