存储管理——置换策略

无论是否对内存进行扩容,如果面对这样的情况:需访问的数据或程序不在内存时,怎么将塞的满满当当的内存做出适当的调整,使新的程序装入内存,即内存的置换策略。下面将学习的几个置换策略重新描述一下。1. FIFO算法 将先进入内存的程序块,对于以后来说,可能是最先淘汰的。基于这个想法,采用先进先出的策略来做替换。 这个方法并没有考虑局部性原理,只考虑了程序的顺序执行。因而相对于后面的几个策略显得不
摘要由CSDN通过智能技术生成

无论是否对内存进行扩容,如果面对这样的情况:需访问的数据或程序不在内存时,怎么将塞的满满当当的内存做出适当的调整,使新的程序装入内存,即内存的置换策略。下面将学习的几个置换策略重新描述一下。


1. FIFO算法

将先进入内存的程序块,对于以后来说,可能是最先淘汰的。基于这个想法,采用先进先出的策略来做替换。
这个方法并没有考虑局部性原理,只考虑了程序的顺序执行。因而相对于后面的几个策略显得不是那么有优势。
将各页表项,看作是循环放置的,有一个指针指向当前被置换的页表项。
具体过程:
1. 当装入新程序时,将指针所指向的页表项装入新的程序块;
2. 指针向下一项移动。

2. URL算法

这个策略的想法是:如果当前页表项很久没有被使用,那么根据局部性原理,以后也不太可能会被使用。
这个策略可以减少抖动的出现,在实际运用中表现的效率也最好。
具体过程:
采用一种能判别时长的方式标记页表项(比如:使用栈或时间标签),新程序等待装入到时长最长的页表中
无论是使用栈还是时间标签,将栈低元素移除和每次更新时间标签,都是开销很大的操作。

3. OPT算法

将下次访问距当前时间最长的页表项置换出去,这显然这样可以极大的降低抖动。
如果细想一想,可以发现这是无法实现的。因为要预测未来,这及其的困难。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值