《操作系统真象还原》第五章 二级页表原理

输入:32位虚拟地址 0x01234567

输出:32位的实际物理地址

二级页表地址拆分规则:高10位为页目录(二级)索引,中间10位为(一级)页表索引。最后低12位为物理页(实际物理地址)内偏移量。

举例说明:输入虚拟地址 0x01234567 对其拆分二进制,我们知道十六进制到二进制是1对4位的关系,即0x0 =0000 ,0x1=0001 ,0x2=0010 ,

所以拆分得到 0000 0001 0010 0011 0100 0101 0110 0111 

这样分别得到页目录(二级页表)的索引值是4,页表(一级页表)的索引值是564,物理内偏移量是0x567.

第一步:要去页目录(二级)中找到页表(一级)地址,也就是4*4=16,意味着该页表地址偏离页目录首地址16个字节处。从这里取出页表(一级)地址。

第二步:要去页表(一级)中找实际的物理页地址。偏移量是564*4=2256=0x8d0,加上第一步找到的页表首地址。最后就得出了实际的物理页地址。

第三步:将物理页地址加上原虚拟地址低12的偏移量,得到最终的实际物理地址。这个地址就是最后输出的结果,用它去访问内存取到数据。

总结一下:物理页地址存放在(一级)页表中,(一级)页表地址存放在页目录(二级)中,页目录首地址(二级)有专门的寄存器存储它。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值