本发明涉及一种操作系统页面淘汰算法,属于操作系统虚拟存储管理技术领域。
背景技术:
在操作系统虚拟存储管理中,当内存空间已被占满而又要调入新页时,必须把已在内存的某一页面淘汰写回到外存。
当前,被广泛应用的页面淘汰算法有先进先出淘汰算法,最近最久未使用淘汰算法,最近最少使用淘汰算法,然而,单一的页面淘汰算法只适用于特定的情况,不能在复杂多变的情况下降低缺页中断率,导致系统开销的增大和系统资源的浪费。
技术实现要素:
本发明要解决的技术问题是提供一种操作系统页面淘汰算法,通过综合3种页面淘汰算法,克服每种页面淘汰算法应用中的缺陷,降低在复杂多变的情况下的缺页中断率,减少系统开销和避免系统资源的浪费。
本发明是通过如下技术方案来实现的:
一种操作系统页面淘汰算法,所述方法具体步骤包括:
步骤101.令i=1,i为页面淘汰队列页面的序号;
步骤102.读取页面淘汰队列第i个页面Ti;
步骤103.判断页面淘汰阈值Cim是否大于等于2,Cim表示页面淘汰队列第i个页面Ti的淘汰阈值Cm, 淘汰阈值Cm表示一个页面分别根据先进先出淘汰算法、最近最久未使用淘汰算法、最近最少使用淘汰算法三种算法判断是否淘汰该页面的结果的总和,
若Cim≥2,则淘汰第i个页面Ti写回外存,若Cim<2,则进行下一步的判断;
步骤104.判断i是否小于n,n表示页面淘汰队列中页面的个数,
若i小于n,则i加1,并返回步骤102,否则淘汰第1个页面T1写回外存;
步骤105.重复步骤102~步骤104。
进一步地,所述的淘汰阈值Cm的具体计算步骤包括:
步骤201.读取待淘汰的页面;
步骤202.应用先进先出淘汰算法判定是否淘汰该页面,若淘汰该页面,则C1=1,否则C1=0;
步骤203.应用最近最久未使用淘汰算法判定是否淘汰该页面,若淘汰该页面,则C2=1,否则C2=0;
步骤204.应用最近最少使用淘汰算法判定是否淘汰该页面,若淘汰该页面,则C3=1,否则C3=0;
步骤205.计算淘汰阈值Cm,计算公式为Cm=C1+C2+C3。
本发明的有益效果是:本发明通过综合3种页面淘汰算法,克服每种页面淘汰算法应用中的缺陷,降低在复杂多变的情况下的缺页中断率,减少系统开销和避免系统资源的浪费。
附图说明
图1为页面淘汰算法流程示意图;
图2为淘汰阈值Cm的计算流程。
具体实施方式
下面结合附图和实施例,对本发明作进一步说明,但本发明的内容并不限于所述范围。
实施例1:如图1、图2所示,一种操作系统页面淘汰算法,所述方法具体步骤包括:
步骤101.令i=1,i为页面淘汰队列页面的序号;
步骤102.读取页面淘汰队列第i个页面Ti;
步骤103.判断页面淘汰阈值Cim是否大于等于2,Cim表示页面淘汰队列第i个页面Ti的淘汰阈值Cm, 淘汰阈值Cm表示一个页面分别根据先进先出淘汰算法、最近最久未使用淘汰算法、最近最少使用淘汰算法三种算法判断是否淘汰该页面的结果的总和,
若Cim≥2,则说明三种算法中有两种以上的算法认为应该淘汰该页面,此时淘汰第i个页面Ti写回外存,若Cim<2,则说明三种算法中最多有一种算法认为应该淘汰该页面,此时进行下一步的判断;
步骤104.判断i是否小于n,n表示页面淘汰队列中页面的个数,
若i小于n,则i加1,并返回步骤102,若否则说明没有其他的页面需要判断是否被淘汰,此时淘汰第1个页面T1写回外存;
步骤105.重复步骤102~步骤104。
进一步地,所述的淘汰阈值Cm的具体计算步骤包括:
步骤201.读取待淘汰的页面;
步骤202.应用先进先出淘汰算法判定是否淘汰该页面,若淘汰该页面,则C1=1,否则C1=0;
步骤203.应用最近最久未使用淘汰算法判定是否淘汰该页面,若淘汰该页面,则C2=1,否则C2=0;
步骤204.应用最近最少使用淘汰算法判定是否淘汰该页面,若淘汰该页面,则C3=1,否则C3=0;
步骤205.计算淘汰阈值Cm,计算公式为Cm=C1+C2+C3。
以上结合附图对本发明的具体实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。