什么是页表项? 50

什么是页表项?什么是物理块大小?和逻辑地址、物理地址有什么关系……物理块占用大小和页表项占用大小又是什么关系……有点绕搞不明白……要是看得懂就不用问啦,50分都那么不给力... 什么是页表项?什么是物理块大小?和逻辑地址、物理地址有什么关系……
物理块占用大小和页表项占用大小又是什么关系……
有点绕搞不明白……
要是看得懂就不用问啦,50分都那么不给力

用点简单通俗的语言解释吧
展开
 我来答
jsntr88
高粉答主

2015-06-12 · 醉心答题,欢迎关注
知道顶级答主
回答量:6.5万
采纳率:91%
帮助的人:6653万
展开全部
以x86的机器为例,当允许paging的时候:
页表分了两级,32位地址被划分为10,10,12

CR3寄存器装了第一级页表(也叫页目录)的物理地址,这个地址一定是对齐到一个页框的边界的。这个对应的页框将装着第一级页目录,也就是说,页目录用掉了4KB,其中含有1024个页目录项,每个项占4Byte。这每个4byte就是你所要问的东西了。每个项有20位是下一级的一个页表的位置(为什么是20位呢?因为intel设计的页表是对其到4KB的边界的,于是只要20位地址,再左移12位就得到了这个地址)。而另外的12位用于存放一些控制位,常见的有present,user, dirty, accessed,r/w等,具体的查intel的开发者手册,上面讲的很详细。页表项和页目录项内容差不多,稍有区别。

为了定位一个虚拟地址(在x86里应该是分段后的地址,叫线性地址),先拆出前10位,配合CR3找到相应的页目录项,然后得到了对应页表的地址,在没有错误的情况下再把线性地址的中间10位拿出来找到相应的页表项,然后就读出了20位(还没左移12位,页框肯定是对齐到4KB的边界的)的这个线性地址对应的页框,再加上12位就得到了物理地址。
xuhanwen888
2010-11-28 · TA获得超过111个赞
知道答主
回答量:106
采纳率:0%
帮助的人:77.5万
展开全部
分页转换功能由驻留在内存中的表来描述,该表称为页表(page table),存放在物理地址空间中。页表可看做简单的220个物理地址数组。线性到物理地址的映射功能可以简单地看做进行数组查找。线性地址的高20位构成这个数组的索引值,用于选择对应页面的物理(基)地址。线性地址的低12位给出了页面中的偏移量,加上页面的基地址最终形成对应的物理地址。由于页面基地址对齐在4K边界上,因此页面基地址的低12位肯定是0。这意味着高20位的页面基地址和12位偏移量连接组合在一起就能得到对应的物理地址。

页表中每个页表项的大小为32位。由于只需要其中的20位来存放页面的物理基地址,因此剩下的12位可用于存放诸如页面是否存在等的属性信息。如果线性地址索引的页表项被标注为存在的,则表示该项有效,我们可以从中取得页面的物理地址。如果页表项中信息表明(说明、指明)页不存在,那么当访问对应物理页面时就会产生一个异常。

更加详细请参考《操作系统》
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾乃污神至尊
2019-10-05
知道答主
回答量:19
采纳率:0%
帮助的人:8496
展开全部
页表项就是包含虚页号和实页号的项
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hayien
2010-11-28 · TA获得超过5002个赞
知道小有建树答主
回答量:1372
采纳率:0%
帮助的人:788万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式