gpt4 book ai didi

memory-management - 多级页表 Hierarchical paging

转载 作者:行者123 更新时间:2023-12-02 17:48:29 26 4
gpt4 key购买 nike

考虑一个具有 32 位虚拟地址和 1KB 页面的虚拟内存系统。每个页表条目都需要 32 位。希望将页表大小限制为一页。

  1. 需要多少级页表?
  2. 两个级别的表有 256 个条目;一个级别的表有 64 个条目。(8+8+6=22)。如果顶级页表有 2^6条目那么有多少页是可能的?
  3. 如果中级页表有 2^6 个条目,那么有多少页可能吗?
  4. 如果底层页表有 2^6 个条目,那么有多少页可能吗?

最佳答案

在这样的系统上有 2^32/2^10 = 2^22 个页面。这意味着寻址页面只需要 22 位。为了简单实用,大多数现代系统会将其与 32 位对齐,并将额外的位用作标志,因此在 32 位页表条目中,页表地址中有 16 MB。单个页面可以容纳 256 个条目,最深层次的总页数需要达到 2^22/256 = 16384。下一级将有 16384/256 = 64;最高级别将适合一页,因为 64 < 256,因此答案是 3。

如果您忽略 32 位对齐(这在现实世界场景中是站不住脚的),那么答案仍然是三个,因为在 22 位时每页最多有 372 个条目,因此 2^22/372第一个 = 11275,第二个 = 11275/372 = 30,第三个 = 1。

或者,您可以从上到下解释它,因此您不是从最深层次开始,而是从顶层开始。在这种特殊情况下,从顶部开始将导致每页具有最多未使用条目的最深层次。这显然不理想,最好将未使用的页表条目放在更高级别。

然而,对于这两种解释中的任何一种,答案都是明确的 3。

关于memory-management - 多级页表 Hierarchical paging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11671527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com