【操作系统】分页储存管理方式一些计算公式以及计算例题(页表项大小,页表项,页面大小的区别)

我在学习操作系统的时候在遇到页表项大小,页表项,页面大小的的误区,百度了好久也是很迷糊,现如今恍然大悟,今天给大家分享一下,希望大家不用迷路。
之前百度到了一个这样的问题,我曾经也有过这样的问题,如图。
在这里插入图片描述
首先我来说页表项和页面大小没有特别的关系,但是还是有关系(就当做是废话哈哈)
这是我先给大家整理的分页存储里面的一些公式。

求地址:
逻辑地址=页号P+偏移量W
物理地址=某程序指定页的块号+偏移量W
其他计算:
页表项 =(题目给出的)内存 / 页面大小
页表占用内存 = 页表项 * 页表大小
页数=(页表占用的)内存 / 页面大小 = (页表项 * 页表项大小)/ 页面大小
每页页表项数=页表项 / 页数 = 页面大小 / 页表项大小
最大内存 = 页面大小 * 2^(页表项大小 /B)
从公式当中就可以看出页表项大小他们之间的关系,拿上图那个人问的问题来回答说,为什么要拿4K/4B,因为公式!!!!
每页页表项数=页表项 / 页数 = 页面大小 / 页表项大小
我当时就很模糊,现在才知道是因为公式,但是具体的操作我还没太明白。可以请大神赐教。

举一个例子来说明(有道考研里面的一道题)
页式存储(清华大学)
已知系统为32位实地址,采用48位虚拟地址,页面大小4KB,页表项大小为8B;每段最大为4GB。
(1)假设系统使用纯页式存储,则要采用多少级页表,页内偏移多少位?
(2)假设系统采用一级页表,TLB命中率为98%,TLB访问时间为10ns,内存访问时间为100ns,并假设当TLB访问失败后才访问内存,问平均页面访问时间是多少?
(3)如果是二级页表,页面平均访问时间是多少?
(4)上题中,如果要满足访问时间<=120ns,那么命中率需要至少多少?
(5)若系统采用段页式存储,则每用户最多可以有多少段?段内采用几级页表?
参考答案:

(1)首先,页面大小为4KB,故页内偏移需要12位来表示。其次,系统虚拟地址一共48位,所以剩下的48-12=36位可以用来表示虚页号。每一个页面可以容纳的页表项为:4KB/8B=29(也就是可以最多表示到9位长的页号),而虚页号的长度为36位,所以需要的页表级数为:36/9=4级。

(2)当进行页面访问时,首先应该先读取页面对应的页表项,98%的情况可以在TLB中直接得到得到页表项,直接将逻辑地址转化为物理地址,访问内存中的页面。如果TLB未命中,则要通过一次内存访问来读取页表项,所以页面平均访问时间是:

98%×(10+100)ns+2%×(10+100+100)ns=112ns

(3)二级页表的情况下:

如果TLB命中,和(2)的情况一样,如果TLB没有命中,采用二级页表需要访问3次内存,所以页面平均访问时间是:

98%×(10+100)ns+2%×(10+100+100+100)ns=114ns

(4)假设快表的命中率为p,应该满足以下式子:

p×(10+100)ns+(1-p)×(10+100+100+100)ns<=120ns

可以解得:p>=95%,所以如果要满足访问时间<=120ns,那么命中率至少为95%。总结知识点:在多级页表的情况下,如果TLB没有命中,则需要从虚拟地址的高位起,每N位(其中N就是类似于(1)中的9)逐级访问各级页表,以第(1)问为例,如果快表未命中,则需要访问5次内存才能得到所需页面。

  • 117
    点赞
  • 646
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 39
    评论
### 回答1: 二级页表是一种分页存储管理方式,它将虚拟地址空间分为多个页,每个页的大小相同。每个页表项包含了页号和页框号,通过页表可以将虚拟地址映射到物理地址。在二级页表中,页表被分为两级,第一级页表包含了虚拟地址的高位,第二级页表包含了虚拟地址的低位。这种分级的方式可以减少页表的大小,提高存储效率。某计算机采用二级页表的分页存储管理方式,可以更好地管理内存,提高系统的性能和稳定性。 ### 回答2: 分页存储管理计算机系统中一种常用的存储管理方式,它将程序的虚拟地址空间划分为多个大小相等的部分,称作页,以简化物理内存的管理。采用二级页表的分页存储管理方式,是在传统分页技术的基础上进行了优化,能够更加高效地管理存储空间。 具体来说,二级页表的分页存储管理方式是将虚拟地址空间分割为更细的页表项,通过两级页表相互映射,从而进行有效的地址转换。在这种管理方式下,一个页表项由两部分组成:页表地址和偏移量。当需要对某个虚拟地址进行地址转换时,首先访问高位页表,找到对应的页表项,进而获取次级页表的地址;然后再根据低位偏移量和次级页表,找到具体的物理地址。 与单级页面相比,二级页表的分页存储管理方式具有以下优点: 1. 有效利用高速缓存:在单级页表中,存储管理单元(MMU)必须遍历整个页表来完成地址转换,这样会浪费大量高速缓存空间。而在二级页表中,由于页表项数量更少,能够更加有效地使用高速缓存。 2. 可以动态地调整分页于主存之间的映射关系:如果需要重新分配某个页面,可以只修改次级页表,而不必改变高级页表,这样能够更加灵活地管理存储空间。 3. 易于扩展:当内存容量增加时,可以通过增加二级页表中页表项的数量来扩展地址空间。 综上所述,采用二级页表的分页存储管理方式是一种高效、灵活、易于扩展的存储管理方式。相信在未来的计算机领域中,二级页表将会更加广泛地被应用于各种系统中。 ### 回答3: 对于采用二级页表的分页存储管理方式计算机来说,它通过将物理内存分成大小相等的物理块,并将逻辑内存分成大小相等的逻辑块,从而实现了逻辑地址到物理地址的转换。 二级页表是在一级页表的基础上又进行了一次分页,这样可以更加有效地管理大规模存储器,减少一级页表存在过多无用信息的问题,提高内存管理的效率。 在二级页表中,页表项的结构与一级页表相似,但其中的页表项指向的不是物理内存中的页框号,而是二级页表的页框号。即物理地址 = 二级页表的页框号 + 页内偏移量。 因为每个进程都拥有自己的页表,所以当一个进程需访问一个虚拟地址时,在页目录表中找到对应的页表,再在页表中找到对应的页表项,并得到页框号,最终得到物理地址进行访问。 然而,二级页表也存在一些问题,比如每个进程都需要维护自己的页表,这将会消耗大量的内存空间。另外,随着进程数量和内存空间的增长,页表大小和页表缺失次数也会显著增加,给系统性能带来一定负面影响。 综上所述,二级页表是一种有效的分页存储管理方式,但在实践中需要注意一些问题,以保证其高效地实现内存管理

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要变胖哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值