【问题标题】:How is this virtual address calculated in this question? I have the answer but, I don't understand how the answer was reached这个问题中这个虚拟地址是怎么计算的?我有答案,但我不明白答案是如何得出的
【发布时间】:2021-05-06 12:30:21
【问题描述】:

问题说

给定一个具有 4 KB 页的两级页表和。假设每个级别使用 10 位。如果 PT1=2, PT2=3, offset=5,虚拟地址是多少?

给出的答案是

(2×2^22)+(3×2^12)+5=8400901

我明白了,因为页面大小为 4-KB,PT 应该乘以 2^12。但是 2^22 是从哪里来的呢?

【问题讨论】:

    标签: operating-system paging calculation


    【解决方案1】:

    写答案的更清晰的方法是:

    2 << (10 + 12) + 3 * << 12 + 5 = 8400901
    

    这就像:

    2 << (BITS_IN_PAGE_TABLE_INDEX + BITS_IN_OFFSET) + 3 * << BITS_IN_OFFSET + 5 = 8400901
    

    【讨论】:

      猜你喜欢
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 2016-10-30
      • 2021-10-10
      相关资源
      最近更新 更多