回 帖 发 新 帖 刷新版面

主题:一个operating systems concepts上遇到的算法问题

在operating systems concepts中文版p211上有这样一句话“选择页的大小为2的幂可以方便的将逻辑地址换为页吗和页偏移。如果逻辑地空间为2的m次幂,且页的大小为2的n次幂单元(字节或词),那么逻辑地址的高m-n位表示页号,而低n位表示页偏移。”
请问
1为何说“选择页的大小为2的幂可以方便的将逻辑地址换为页吗和页偏移”
2“如果逻辑地空间为2的m次幂,且页的大小为2的n次幂单元(字节或词),那么逻辑地址的高m-n位表示页号,而低n位表示页偏移”这句话又是如何来得。为什么这么说,原因何在?

回复列表 (共2个回复)

沙发


一,计算机内是二进制的呀!
二,页的大小是约定的,即逻辑的物理的页是一样大小的.页号就是那了.
   自己再考虑下.

板凳


假设本地物理地址为n为,将其分为两不分,即高m位与低k位,2(k)表示2的k次方。则
1、物理地址 = 高位地址(x) * 2(k) + 低位地址(z);
这时,如果以2(k)为一页,则高位地址(x)就是页号,
2、逻辑地址 = 高位地址(y) * 2(k) + 低位地址(z);
则高位地址(y) 就是逻辑地址块号,
这样,从逻辑地址对应到物理地址的时候,只需在页表中记录x与y映射关系,就可以轻松的根据逻辑地址到到相应的物理地址了,方法如下:
取逻辑地址中的高位地址作为y值,低位地址作为z值!在页表中找到相应的x值,以x值作为物理地址的高位地址,以z值作为地位地址,就可以求出所需的物理地址了

我来回复

您尚未登录,请登录后再回复。点此登录或注册