2.3操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则
创始人
2024-05-31 19:12:44
0

2.3操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则

  • 页式存储
  • 逻辑地址、物理地址
  • 如何判断物理地址和逻辑地址它们之间的地址关系?
  • 页面大小与页内地址长度的关系
  • 例题
  • 总结
  • 缺页中断
  • 内存淘汰规则

在存储管理当中,操作系统会负责将外存的一些文件调入到内存当中,以便给CPU调用,如果调用的内容不在内存当中,那么会产生一种中断,叫做缺页中断。然后从外存调数据,调完数据再返回,接着访问之前的断点部分。

在调用的过程当中,如果是一个几十G的文件,调入到内存是一下放不进去的,如果是大型游戏,几百G,都放入内存显然是不可能的。

如果只调用一部分内容,是不是内存就恰好有足够大小的连续空间去放置呢?
太理想化了,这个可能性并不大。所以在存储管理当中,从外存调入数据到内存当中的时候,一般会把完整的内容切割之后,分散的进行放置,那么分割的方式不一样,会有不同的调用方式。

页式存储

分页存储管理,分页存储也就是页式存储的过程。它会将文件与内存都划分成相同大小的区域,这个区域我们叫做,或者叫做

逻辑地址、物理地址

知道相应的页或块之后,我们只需要将页和内存当中对应的位置关系以一个表记录下来,就可以记录它们之间的映射关系。
这个表我们把它叫做页表,页表最基础的内容会包含在用户程序当中的页号,我们一般把它叫做逻辑页号,程序里面的地址叫做逻辑地址

调入到内存之后,放到内存的什么位置呢?
我们把对应关系记录下来,我们叫做页帧号,或者物理块号,它在内存当中的地址我们称为物理地址

对于物理地址和逻辑地址,我们一般会对应用程序根据逻辑地址查表,从而得到它的内存当中的物理地址,然后在实际的访问这个内容,整个过程当中,需要掌握逻辑地址和物理地址的转换关系。

如何判断物理地址和逻辑地址它们之间的地址关系?

我们所有的地址都会划分成两个部分,一个部分是在页内的具体地址,一个是在页外的出现的页号编号,这种编号与页号之间的关系类似于在寄快递的时候,先省市区,再是街道门牌号,较大的地址范围会放在高位上,细节的地址范围会放在低位上,一般低位我们把它叫做页内地址,它是在固定区域大小当,它所定义的一个偏移量,高位就是它对应的编号。

一个完整的地址,一般会用二进制,或者十六进制,有时候也会用十进制来表示,那么怎么确定哪里是页内地址,哪些是页号?
这个时候,会涉及到对页面大小的定义,如果页面存储系统当中,每个页的大小都是4KB,我们在回到主存编制的过程中,现在有一个页面大小的区域,总容量大小是4KB,在未知的情况下,默认按字节编组,也就是4KB/1B=4KB=4096个存储单元,可以表示的编号是0 ~ 4095,如果用比特位二进制来表示的话,则是000000000000 ~ 111111111111。

页面大小与页内地址长度的关系

可以总结下4KB的对应关系:4KB大小的页需要十二位二进制来表示212的不同的编码,对应4K个存储单元编号,对应4KB大小。依此类推,页面大小8KB,则页内地址长度为213

有了这种对应关系之后,将相应的地址转换成二进制,数一数页内地址的长度(从右往左数),第一位是页内地址,剩余的高位就是页号。

例题

例如页式存储系统中,每个页的大小4KB。
逻辑地址:10 1100 1101 1110,求物理地址

请添加图片描述
4K个存储单元编号,对应4KB大小
逻辑地址:10 1100 1101 1110,因此从右往左数12位,还剩下左面的10,10所对应的十进制数是2,也就是页号为2,排除的12位是页内地址,是不变的,于是根据图中页表可知,块号为6,6转换为二进制是110

所以对应的物理地址:110 1100 1101 1110

总结

页的大小一般是以KB为单位的,相对来说,页面大小比较小。

在页式存储中,对于内存进行页面分配的时候,要么页面空闲,我们把它塞满,要么它已经占用了,一般可以利用到的碎片空间都可以利用,如果碎片空间小于页面大小,才不能够使用,所以在分配内存的时候,空闲的碎片一般会小于页面大小,空间利用率高,分配管理起来就比较简单。

但也正因为如此,页面太过于零碎,所以每次都需要查表去找相应的页面,这样增加了系统的开销;以页面位单位来进行调度的时候可能会产生抖动现象。所谓抖动现象就是给某一个进程分配3个页面,那它需要淘汰调用新页面的次数n,会小于给进程分配4个页面的情况,这种情况就是说明虽然系统增加了硬件设备,但是系统整体性能反而降低了,这个想想就叫做抖动。

高级程序语言使用逻辑地址,
运行状态,内存中使用物理地址。

逻辑地址=页号+页内地址
物理地址=页帧号+页内地址

优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象

缺页中断

在调用的过程中,会给用户进程分配个别的一些内存页面来给它用,但是有限的页面肯定是不够用的,当想要访问某个用户程序页的时候,发现它并不在内存中,就会产生缺页中断。

内存淘汰规则

有缺页中断后,就需要把这个页面调用到内存当中,那么已经满了,要怎么调用?需要把内存已有的数据给剔除出去,这个剔除遵循下述规则:

页表相对来说比较复杂,还会记录相应的界面是否在内存的状态位,还有是否访问的访问位,是否修改的修改位。访问位会定时清零,也就是说,最近访问的最近是有时间限制的,如果超过了这个时间,没有再次被访问,则会认为近期不再会被访问,因此将访问位置为0。

修改位只要被修改过,就会置为1,不论过了多久。
请添加图片描述
上图只分配了2,3,5,6四个物理页,剩下的并没有使用,也就是说0,1,2,5号逻辑页已经在内存了,那么躲过现在想用3号逻辑页,怎么做?

需要经内存当中,已有的逻辑页淘汰一个,才能使用3

淘汰规则:
前提条件:状态位为1(0表示都不在内存,自然无法内存参与淘汰)
①访问位为0,(根据局部性原理来看,最近访问过的页面接下来很有可能用到,这种页面尽可能保留)
②访问位都为0,再优先淘汰修改位为0,(修改位为1,则开销成本会更大,如果刚把修改的页面费半天劲淘汰了,而且为了一致性原则,还同步了外存,但是立马又要修改,这种情况就很麻烦,所以一般是最后用完之后再去淘汰,可以避免不必要的开销和重复修改)

相关内容

热门资讯

安卓系统把视频设为铃声,如何将... 你有没有想过,手机里的视频竟然能变成铃声?是的,你没听错,安卓系统竟然有这样的神奇功能!今天,就让我...
边锋杭麻圈安卓系统,边锋科技引... 你有没有听说过边锋杭麻圈安卓系统?这可是最近在游戏圈里火得一塌糊涂的存在哦!想象你正坐在家里,手握着...
ios系统能转移到安卓系统,轻... 你有没有想过,有一天你的手机从iOS系统跳转到安卓系统,会是怎样的体验呢?这可不是天方夜谭,随着科技...
安卓系统网络连接查看,安卓系统... 你有没有遇到过这种情况:手机里装了各种APP,可就是不知道哪个在偷偷消耗着你的流量?别急,今天就来教...
什么安卓系统优化的好,打造流畅... 你有没有发现,手机用久了,就像人一样,会变得有些“臃肿”呢?尤其是安卓系统,有时候感觉就像一个老态龙...
手机安卓系统ios系统怎么安装... 你有没有发现,现在手机里的软件真是五花八门,让人眼花缭乱?无论是安卓系统还是iOS系统,都能轻松安装...
按音量键报警安卓系统,安卓系统... 你有没有遇到过这种情况:手机突然发出刺耳的警报声,吓得你心跳加速,还以为发生了什么大事?别担心,今天...
安卓系统改win版系统怎么安装... 你有没有想过,把你的安卓手机换成Windows系统的电脑呢?想象那流畅的触控体验和强大的办公功能,是...
安卓系统如何备份到苹果,轻松实... 你是不是也有过这样的烦恼:手机里的照片、联系人、应用数据等等,突然间就消失得无影无踪?别担心,今天就...
修改安卓系统参数设置,安卓系统... 你有没有发现,你的安卓手机有时候就像一个不听话的小孩子,总是按照自己的节奏来,让你有点头疼?别急,今...
安卓手机gps定位系统,畅享智... 你有没有发现,现在不管走到哪里,手机都能帮你找到路?这都得归功于安卓手机的GPS定位系统。想象你站在...
华为不能安卓系统升级,探索创新... 你知道吗?最近有个大新闻在科技圈里炸开了锅,那就是华为的新款手机竟然不能升级安卓系统了!这可真是让人...
汽车加装安卓系统卡住,探究原因... 你有没有遇到过这样的尴尬情况:汽车加装了安卓系统,结果屏幕突然卡住了,就像被施了魔法一样,怎么也动弹...
电量壁纸安卓系统下载,打造个性... 手机电量告急,是不是又得赶紧找充电宝了?别急,今天就来给你安利一款超实用的电量壁纸,让你的安卓手机瞬...
iPhonex里面是安卓系统,... 你有没有想过,那个我们每天都离不开的iPhone,里面竟然可能是安卓系统?是的,你没听错,就是那个以...
ios系统比安卓系统好在哪里,... 你有没有想过,为什么有些人对iOS系统情有独钟,而有些人却对安卓系统爱不释手呢?今天,就让我带你从多...
安卓系统跟踪设置大小,跟踪设置... 你知道吗?现在智能手机几乎成了我们生活的必需品,而安卓系统作为全球最受欢迎的操作系统之一,它的跟踪设...
在线迎新系统下载安卓,轻松开启... 你有没有想过,开学季的到来,就像一场盛大的狂欢,而在这个狂欢中,有一个小助手,它默默地守护着你的入学...
安卓系统怎么申请微信号,一键申... 你有没有想过,在安卓手机上申请一个微信账号,竟然也能变得如此简单?没错,就是那个我们每天离不开的社交...
安卓手机系统里怎么清理,轻松优... 手机里的东西越来越多,是不是感觉安卓手机系统越来越慢了呢?别急,今天就来教你怎么清理安卓手机系统,让...