【问题标题】:Page Mapping Layout页面映射布局
【发布时间】:2017-02-17 21:26:52
【问题描述】:

我对 X86-64 架构中的 4 级页面布局感到困惑。在 Linux 源代码实现中,他们使用: PGD(Page Global Directory) --> PUD(Page Upper Directory) --> PMD(Page Medium Directory) --> PTE

不过,我还发现了另一个来自 X86 架构的四级页面布局: PML4(L4) --> PDP(L3) --> PD(L2) --> PTE(L1)

那么,有没有人知道这两种页面布局之间的区别?我可以将 PML4 视为与 PGD 相同的组件吗?如果是这样,CR3 (PDBR) 实际上包含 PGD 的地址,对吗?

详细解答将不胜感激!提前致谢!

【问题讨论】:

  • 您在哪里找到了两组名称(如果可能,请提供确切的链接)?可能 linux 只是使用替代或位架构中立的名称变体。
  • 感谢您的 cmets。我已经弄清楚了我的困惑(在答案中描述)。

标签: linux paging memory-mapping


【解决方案1】:

我在这里回答我自己的问题:

多级页表结构在现代架构中非常常见。 描述4级分页布局的通用术语是:PGD-PUD-PMD-PTE,这是一个广泛使用的通用术语。 Linux 系统源代码实际上也使用这些术语来定义分页结构。

但是,英特尔使用自己的术语:PML4(L4) - PDP(L3) - PD(L2) - PTE(L1)

这两者的想法是一样的!

【讨论】:

    猜你喜欢
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多