【问题标题】:Do page table entries at each level in a Two-Level Paging system have to be the same size?两级分页系统中每个级别的页表条目是否必须相同大小?
【发布时间】:2011-02-07 05:53:25
【问题描述】:

假设您有一个具有 32 位逻辑地址的两级分页系统,并且页面偏移量已预先确定为 12 位。这为页码留下了 20 位。我可以在网上和教科书中找到的所有示例都显示页码,然后分成 2 个块,每块 10 个,这样虚拟地址看起来像这样:

[ p1: 10 位 | p2:10 位 |偏移量:12 位]

两个页码都必须是 10 位吗?例如,是否可以改为:

[ p1: 8 位 | p2:12 位 |偏移量:12 位]

如果页码使用奇数位,例如:

[ p1:9 位 | p2:11 位 |偏移量:12 位]

我理解将它们平均分配,使一切变得干净有序。我只是想弄清楚它在技术上是可行的,以及以不同的方式做它是否有任何缺点/好处。


*完全披露:这个问题本身不是作业问题,而是在尝试解决作业问题时出现的问题。不试图让任何人为我做我的工作。只是想了解什么是可能的,以及以一种或另一种方式做这件事是否有任何优点/缺点。

【问题讨论】:

    标签: memory-management operating-system paging multi-level


    【解决方案1】:

    除了简化实现之外,没有其他理由需要它们的大小相同。事实上,在某些系统(例如 x86)中,您显示的 p2 字段可以是某些页面而不是其他页面的 offset 的一部分,以允许多种页面大小。

    【讨论】:

    • 好的,谢谢。我认为可能是这种情况,但找不到任何其他示例。只是想确保我没有试图在错误的前提下解决问题。
    猜你喜欢
    • 2020-09-20
    • 1970-01-01
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2020-09-23
    相关资源
    最近更新 更多