【问题标题】:Paging--What happens when page tables do not fit perfectly in a page in Multilevel Paging?分页——在多级分页中,当页表不能完全适合页面时会发生什么?
【发布时间】:2022-09-23 05:56:51
【问题描述】:

在三级分页系统中,当每页大小为 512 字节,条目大小为 4 字节时,我们可以知道每页有 128 个条目。所以我们可以设计VPN(Virtual Page Number)的7位(log128)作为第三级页表中的索引,使页表完美地适合一个页面。如果我们只设计 6 位作为索引会发生什么?我认为在第三级页表上,某些页面无法正确“转移”到相应的物理帧号,因为它们的页码不能用六位索引表示。例如,当操作系统将整个页表“切割”为 3 个部分时,每个部分有 128 个条目,其中一个条目恰好是第二部分的第 100 个条目。我们如何使用 6 位数字索引到 100 以在物理地址中获得正确的帧号?或者“剪切”过程足够聪明,可以只放入 64 个条目,而在每个页面中浪费另外 64 个条目?或者我们实际上可以使用 8 位来索引 128 个条目表,只使用 7 位而忽略一位?这个问题真的让我很困惑,因为即使第三级页表完全适合一个页面,第一级和第二级页表有时也完全不适合。

  • 如果每个级别的条目大小不一样,这个问题可能会解决吗?
  • 是否有可能如果 3-lv 页表完全适合一页(7 位索引到 128 个条目),我们只需将 3-lv 页表的 PFN(Page Frame Number)存储在 2-lv 页表中。如果 3-lv 页表不能完美地放在一页中,我们将完整的物理地址(PFN+OFFSET)存储在 2-lv 页表中吗?这样即使表的大小不等于页的大小,也不会浪费内存。

标签: operating-system paging multi-level


【解决方案1】:

【讨论】:

    猜你喜欢
    • 2011-07-30
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2020-02-25
    • 2023-03-24
    相关资源
    最近更新 更多