30-页面置换算法与分配策略

页面置换算法是内存管理的关键,包括OPT、FIFO、LRU和时钟算法等,其中LRU性能优但实现复杂。驻留集的大小影响缺页率,固定分配、可变分配和全局/局部置换策略各有优缺点。抖动现象发生在页面频繁进出内存时,工作集理论有助于优化内存使用。
摘要由CSDN通过智能技术生成

页面置换算法

页面的换入、换出需要磁盘I/O,会有比较大的开销,因此好的页面置换算法应该追求更少的缺页率。

最佳置换算法(OPT)

每次选择淘汰的页面将是以后用不使用,或者在最长时间内不被访问的页面,这样可以保证最低的缺页率
最佳置换算法可以保证最低的缺页率,但是实际上,只有进程执行的过程中才知道接下来会访问的是哪个页面。操作系统无法预判页面序列。因此,最佳置换算法是无法实现的。

先进先出置换算法(FIFO)

实现方法:谁先进来,谁先走
只有先进先出算法会产生Belady异常,当为进程分配的物理块数增大时,缺页次数不减反增的现象。

最近最久未使用置换算法(LRU)

实现方法:每次淘汰的页面上最近最久未使用的页面
该算法性能好,实现难,开销大

时钟置换算法(CLOCK)

实现方法:最近未用算法
设置访问位,访问过设置为1,没访问过设为0
最多经过两轮扫描.

改进型时钟置换算法

只有被淘汰的页面被修改过时,才需要写回外存
因此除了考虑过一个页面最近有没有被访问过之外,操作系统还应该考虑页面有没有被修改过。在其他条件都相同时,应优先淘汰没有修改过的页面,避免了I/O操作
解决方法:
1.设置修改位
算法思想:设置循环队列

  1. 找到(0,0)进行淘汰,不修改任何标识位
  2. 若第一轮扫描失败,则重新扫描,寻找(0,1),本轮所有的帧访问位扫描后设置为0
  3. 第三轮扫描寻找(0,0),不修改标志位
  4. 第四轮扫描寻找(0,1)

页面分配策略

驻留集

请求分页存储管理中给进程分配的物理块的集合。
在虚拟存储技术中,驻留集大小一般小于进程的总大小。
若驻留集太小:会导致缺页频繁,系统要花大量的时间来处理缺页,实际用于进程推进的时间很少.
若驻留集太大:会导致多道程序并发度下降,资源利用率降低。

固定分配

操作系统为每个进程分配一组固定数目的物理块,即驻留集大小不变

可变分配

先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的增加或减少,即驻留集大小可变。

局部置换

发生缺页的时候只能选择进程自己的物理块进行置换

全局置换

可以将操作系统保留的空闲物理块分配给缺页进程,也可以将别的进程持有的物理块置换到外存,再分配给缺页进程。

固定分配局部置换

缺点:很难在刚开始的时候确定应该为每个进程分配多少物理块

可变分配全局置换

只要某进程发生缺页,都将会获得新的物理块
被选择调出的页可能是系统中任意一个进程中的页,因此这个被选中的进程拥有的物理块会减少,缺页率会增加。
只要缺页就给分配新物理块

可变分配局部置换

要根据缺页的频率来动态的增加或减少进程的物理块

何时调入页面

预调页策略

根据局部性原理,一次调入若干个相邻的页面可能比一次调入一个页面更高效。但如果提前调入的页面中大部分都没有被访问过,则又是低效的。因此可以预测不久后可能访问到的页面,将它们预先调入内存但是目前预测成功率只有50%左右。故这种策略主要用于进程的首次调入

请求调页策略

进程在运行期间发现缺页时才讲所缺页面调入内存。由这种策略调入的页面一定会被访问到,但是由于每次只调入一页,而每次调页都要磁盘I/O操作,因此I/O开销较大。

从何处调入页面

对换区速度快,文件区大小大

  1. 页面的调入调出在对换区和内存进行[对换区大小足够]
  2. 不会被修改的数据从文件区调入调出[对换区大小不够]
  3. UNIX:第一次使用从文件区,之后保存在对换区

抖动(颠簸)现象

刚刚换出的页面马上又要换入内存,刚刚换入的页面马上又要换出外存,这种现象叫做抖动。主要原因:进程频繁访问的页面数目高于可用的物理块数


工作集:每段时间内,进程实际访问的页面的集合。
工作集合的大小可能小于窗口尺寸。
驻留集的大小不能小于工作集的大小,否则会发生频繁的缺页。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小蓝学不会嵌入式!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值