【问题标题】:converting a logical address to a physical address将逻辑地址转换为物理地址
【发布时间】:2013-06-26 20:30:39
【问题描述】:

有一个8页的逻辑地址空间,每页2KB。

物理地址空间有4个框架(一个框架的大小等于一个页面的大小)。

我得到一个草图,其中有一个从第 0 页到第 1 帧的箭头,表示第 0 页到第 1 帧之间的映射。

我需要找到逻辑地址2500的物理地址。

我想知道我的解决方案是否正确。

这是我的解决方案: 因为一个页面的大小是 2KB,这意味着我们需要 14 位的偏移量。 (导致 2KB=2^14) 并且有 8 页(0 到 7),所以我们需要 3 位作为页码。

所以给定的二进制虚拟地址是: 000 00100111000100 =2500
左起前 3 位 - 000 - 表示页码 0 其余位 - 00100111000100 - 表示偏移量 2500

第 0 页 ----->第 1 帧(草图中的映射)

所以我的实际地址是: 0100100111000100 = 18884。

前 2 位 - 表示帧号 - 01.
其余位 - 表示偏移量 - 00100111000100。 (有 4 帧,因此我们需要 2 位作为帧号)。

我将不胜感激。
谢谢, 石然

【问题讨论】:

    标签: memory-management operating-system


    【解决方案1】:

    2KB = 2^1 * 2^10 = 2^11 ---> 11 位,不是 14

    【讨论】:

    • 欢迎来到 stackoverflow!这不提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时对自己的帖子发表评论,一旦您拥有足够的声誉,您就可以对任何帖子发表评论。请阅读指南以获得好的答案:stackoverflow.com/questions/how-to-answer.
    • 我相信您的回答是相关的,但添加更多解释将有助于其他人充分利用您的回答。
    【解决方案2】:

    逻辑地址连续,可按步骤操作

    (1) 计算 2500/(2*1024)

    商为 1 --> 页码。逻辑地址

    余数为 452 --> 逻辑地址的偏移量 -->same是物理地址的偏移量

    (2) 查找帧号。物理地址页号(即上面计算的1)的逻辑地址是指。不幸的是,问题中没有给出映射。假设逻辑地址中的第 1 页映射到物理地址中的第 4 帧。

    (3)物理地址为[帧号]*[帧全长]+偏移量,即

    4*(2*1024)+452 = 8644 或 0010000111000100(二进制)或 21c4(H)。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 1970-01-01
      • 2013-07-05
      • 2015-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-03-10
      相关资源
      最近更新 更多