操作系统内存管理二(3)页面置换算法

操作系统内存管理二(3)页面置换算法

根据王道2024
在这里插入图片描述

一、最佳置换算法(OPT)

方法:

淘汰以后永不使用或最长时间不再访问的页面→获得最低的缺页率

无法预知,无法实现

最长时间不被访问≠被访问次数最小

二、先进先出页面置换算法(FIFO)

基于队列

方式:

淘汰驻留在内存中最久的页面,最早进入内存的页面

特点:
  • 实现简单,按次序链接成队列

  • 比OPT置换次数多

  • 会产生**Belady异常:**分配的物理块数增大而页故障数(缺页次数)不减反增

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

基于堆栈

方式:

为每个页面设置一个访问字段,记录自上次被访问到当前的时间,淘汰值最大的页面

特点:
  • 性能较好

  • 需要寄存器和栈的硬件支持

  • LRU是堆栈类的算法

四、时钟置换算法(CLOCK)

特点:
  • 性能接近OPT,实现开销大
方式:
  1. 简单的CLOCK置换算法(最近未用算法NRU)

    循环检查各个页面使用情况(CLOCK算法)

    • 每帧设置访问位,首次装入或访问被置为1

    • 将内存中的页面视为一个循环队列,替换指针指向被替换页面

    • 淘汰时检查访问位,0→换出;1→置为0,不换出,检查下一个页面

    • 只有一个访问位,将未使用的页面换出

  2. 改进型CLOCK置换算法

    • 每帧设置访问位A和修改位M

    在这里插入图片描述

    过程:

    1. 一轮扫描,循环检查各个页面访问位和修改位的情况,先寻找第一个1类页面作为淘汰页,不改变访问位A

    2. 二轮扫描,寻找第一个2类页面作为淘汰页,改变扫描过的页面访问位置0

    3. 三轮扫描,所有帧访问位复0,重复步骤a,有需要继续执行b

    特点:

    • 可减少磁盘IO次数,但是开销增加
  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值