页表到底占用多少空间?一些疑惑和思考

二级页表

页目录项 1024个  
每个大小为4B 
前20个比特标识页表的物理地址(4K页)

页表1024*1024个 
每个大小也为4B
前20个比特标识页的物理地址

页帧以4k分页,那么对于32位逻辑总线来说,后12位就被屏蔽掉了, 只需要前20位就能找到这个页的地址
再加上12位的偏移,可以找到具体的那个1B了
最主要的是分页之后就只需要20位就可以来寻址了(物理地址)
类似的,页目录项中总共有4k大小,以4来分,那么只要1k就可以寻址(目录索引)了
http://bbs.csdn.net/topics/390930423

问题:页目录项、页表项中存储的地址是物理地址还是逻辑地址?
是物理地址

这样页目录项和页表项就占用了内存中的4M + 4K的空间
MMU通过这里面存放的表,将线性地址转化为物理地址
那么,这个空间是如何规定的? 
CR3指定了页目录项的起始地址,这样就找到页目录项这个表了,然后再通过页目录项找到页表,后面就好办了
那么CR3也只需要高20位来寻址,因为页目录项刚好占用1个页帧,4k的大小空间
这个设计感觉太巧妙了,关键就在于这个4K分页

最后一个问题:
页目录项和页表项是操作系统来填写的,填到哪个位置如何确定?
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值