页面置换算法 1 -常用置换算法

置换算法:

指的是当出现缺页异常,需调入新页面而内存已满是,置换算法选择被置换的物理页面.

实现要求: 尽可能地减少页面的调入调出次数.


局部页面置换算法

最优页面置换算法(OPT)
缺页时,计算内存中每个逻辑页面的下一次访问时间,选择未来最长时间不访问的页面

实际中无法实现,作为置换算法的性能评价依据

先进先出算法(FIFO)
选择在内存驻留时间最长的页面进行置换
会出现belady问题
最近最久未使用算法(LRU)
选择最长时间没有被引用的页面进行置换
  • 最优置换算法的一种近似

  • 实现

    页面链表(按最近一次访问时间排序的页面列表):

    • 链表首节点是最近刚刚使用过的页面
    • 页面尾节点是最久未使用的页面
    • 访存,将向应页面移动到链表头
    • 缺页时,置换链表尾的页面

    活动页面栈

    • 访问页面时,将此页号压入栈顶,并将栈内相同的页号抽出(将相同页号移动到栈顶)
    • 缺页时,置换栈底数的页面
时钟置换算法
仅对页面访问情况进行大致统计
  • 实现

    环形链表:

    • 在页表项中增加访问位,描述页面在过去的一段时间内访问情况
    • 各页面组织成环形链表
    • 指针指向最先调入的页面

    原理:

    • 页面装入内存访问位置0 访问页面置 1

    • 缺页时从指针当前位置顺序检查环形链表

      • 访问位为0,置换该页
      • 访问位为 1 ,则访问位置 0 .指针向下移动寻找可以置换的页面
改进的Clock算法
减少修改页的缺页处理开销
image
算法:
  • 在页面中增加修改位,并在访问时进行相应修改
  • 缺页时,修改页面标志位以跳过有修改的页面
最不常用算法(LFU)

考虑的是访问的次数

原理:

  • 每个页面设置一个访问次数
  • 访问页面时,访问计数加 1
  • 缺页时,置换计数最小的页面
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值