【操作系统】 - Operation System 第六章 页面置换算法

本文深入探讨了操作系统中的页面置换算法,包括最优页面置换算法(理论上最小化缺页次数)、先进先出(FIFO)、最近最久未使用(LRU)、时钟算法、二次机会法和最不常用算法等。文章还讨论了Belady现象、局部页替换算法的问题、全局页面置换算法以及抖动问题,为理解和优化内存管理提供了宝贵见解。
摘要由CSDN通过智能技术生成

6.1 最优页面置换算法

    目录

在这里插入图片描述

(1)功能目标

    功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。
    目标:尽可能减少页面的换入换出次数(即缺页中断的次数)。把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理的指导下依据过去的统计数据来进行预测。
    页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分或时间关键(time-critical)的应用进程。实现方法是,在页表中添加锁定标志位(lock bit)。
在这里插入图片描述

(2)最优页面置换算法

    基本思路:当一个缺页中断发生时,对于保存在内存中的每一个逻辑页面,计算在它的下一次访问之前,还需要等待多长时间,从中选择等待时间最长的那个,作为被置换的页面。
    不过,这只是一种理想情况,在实际中无法实现,因为操作系统无法知道每一个页面要等待多长时间以后才会被再次访问。
可用作其它算法的性能评价的依据(在一个模拟器上运行某个程序,并记录每一次的页面访问情况,在第二遍运行时即可使用最优算法)。
在这里插入图片描述
在这里插入图片描述

6.2 先进先出算法

在这里插入图片描述
在这里插入图片描述

6.3 最近最久未使用算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.4 时钟页面置换算法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.5 二次机会法

在这里插入图片描述
    如果是一次写操作,dirty bit会设置为1.说明内存访问这部分数据时是有写入操作的,和硬盘上原数据不一样,所以要写入硬盘,如果是0,对这部分内存没有写操作,那么说明内存和硬盘上内容是一样的,直接丢掉即可。
目的就是减少对硬盘的写操作。
    如果used和dirty bit都是0,那么替换掉;如果其中一个是1,那么把这一位设置为0,指针往下走;如果都是1,那先把used换为0,说明有2次机会。
在这里插入图片描述

6.6 最不常用算法

在这里插入图片描述
    缺点:初始化时访问次数多,而正常时访问次数少的帧。
在这里插入图片描述

6.7 Belady现象,LRU,FIFO,Clock的比较

在这里插入图片描述
在这里插入图片描述
    资源多了,反而缺页异常多了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.8 局部页替换算法的问题,工作集模型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.9 两个全局页面置换算法

(1)工作集页置换算法

在这里插入图片描述
在这里插入图片描述
    根据缺页率的变化来调整常驻集的大小。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
    与工作集置换算法的区别

  对页的调整时机不一样。这个方法只在缺页中断时判断是否更改,而后者是在每次换入换出时都做判断。
  都与局部页置换算法不一样。这两种涉及到工作集大小的调整。而局部只是在工作集满了之后才考虑换入换出。
  全局页置换算法效果比局部页置换算法要好。

6.10 抖动问题

在这里插入图片描述
在这里插入图片描述

参考文献

https://www.bilibili.com/video/av6538245?p=19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值