【问题标题】:Calculating size of outer/2nd-level page table计算外部/二级页表的大小
【发布时间】:2016-02-09 19:01:16
【问题描述】:

有点像家庭作业的问题,但我更想围绕这个概念来思考:

如果我在页面大小为 8KB 且外部表有 1024 个条目的两级分页系统中有一个 32 位虚拟地址,我如何计算有多少位来表示(大小)第二级/外部页表?

答案应该是 9 位,但我不确定如何计算或公式是什么。

【问题讨论】:

    标签: memory operating-system virtual-memory


    【解决方案1】:

    虚拟地址分为:

    PTI - 页表索引

    1st PTI | 2nd PTI | Page Offset
    

    “外页表”,即第一个 PTI,有 1024 个条目。需要 10 位 来表示 1024 种不同的状态,因为 2^10 = 1024

    页面偏移量必须能够索引 8 KiB 字节,因此它是 13 位 大。 8 KiB对应8192个不同的地址和2^13 = 8192

    现在,剩下第 2nd 页表。我们可以很容易地通过减法计算它的大小:

    32 = 10 + 13 + x  = 23 + x    | - 23
    9 = x
    x = 9
    

    因此“内部”页表最多可容纳2^9 = 512 个条目。

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 1970-01-01
      • 2013-04-25
      • 2014-07-28
      • 2023-03-22
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多