本發(fā)明涉及一種操作系統(tǒng)頁面淘汰算法,屬于操作系統(tǒng)虛擬存儲(chǔ)管理技術(shù)領(lǐng)域。
背景技術(shù):
在操作系統(tǒng)虛擬存儲(chǔ)管理中,當(dāng)內(nèi)存空間已被占滿而又要調(diào)入新頁時(shí),必須把已在內(nèi)存的某一頁面淘汰寫回到外存。
當(dāng)前,被廣泛應(yīng)用的頁面淘汰算法有先進(jìn)先出淘汰算法,最近最久未使用淘汰算法,最近最少使用淘汰算法,然而,單一的頁面淘汰算法只適用于特定的情況,不能在復(fù)雜多變的情況下降低缺頁中斷率,導(dǎo)致系統(tǒng)開銷的增大和系統(tǒng)資源的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種操作系統(tǒng)頁面淘汰算法,通過綜合3種頁面淘汰算法,克服每種頁面淘汰算法應(yīng)用中的缺陷,降低在復(fù)雜多變的情況下的缺頁中斷率,減少系統(tǒng)開銷和避免系統(tǒng)資源的浪費(fèi)。
本發(fā)明是通過如下技術(shù)方案來實(shí)現(xiàn)的:
一種操作系統(tǒng)頁面淘汰算法,所述方法具體步驟包括:
步驟101.令i=1,i為頁面淘汰隊(duì)列頁面的序號(hào);
步驟102.讀取頁面淘汰隊(duì)列第i個(gè)頁面Ti;
步驟103.判斷頁面淘汰閾值Cim是否大于等于2,Cim表示頁面淘汰隊(duì)列第i個(gè)頁面Ti的淘汰閾值Cm, 淘汰閾值Cm表示一個(gè)頁面分別根據(jù)先進(jìn)先出淘汰算法、最近最久未使用淘汰算法、最近最少使用淘汰算法三種算法判斷是否淘汰該頁面的結(jié)果的總和,
若Cim≥2,則淘汰第i個(gè)頁面Ti寫回外存,若Cim<2,則進(jìn)行下一步的判斷;
步驟104.判斷i是否小于n,n表示頁面淘汰隊(duì)列中頁面的個(gè)數(shù),
若i小于n,則i加1,并返回步驟102,否則淘汰第1個(gè)頁面T1寫回外存;
步驟105.重復(fù)步驟102~步驟104。
進(jìn)一步地,所述的淘汰閾值Cm的具體計(jì)算步驟包括:
步驟201.讀取待淘汰的頁面;
步驟202.應(yīng)用先進(jìn)先出淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C1=1,否則C1=0;
步驟203.應(yīng)用最近最久未使用淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C2=1,否則C2=0;
步驟204.應(yīng)用最近最少使用淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C3=1,否則C3=0;
步驟205.計(jì)算淘汰閾值Cm,計(jì)算公式為Cm=C1+C2+C3。
本發(fā)明的有益效果是:本發(fā)明通過綜合3種頁面淘汰算法,克服每種頁面淘汰算法應(yīng)用中的缺陷,降低在復(fù)雜多變的情況下的缺頁中斷率,減少系統(tǒng)開銷和避免系統(tǒng)資源的浪費(fèi)。
附圖說明
圖1為頁面淘汰算法流程示意圖;
圖2為淘汰閾值Cm的計(jì)算流程。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明作進(jìn)一步說明,但本發(fā)明的內(nèi)容并不限于所述范圍。
實(shí)施例1:如圖1、圖2所示,一種操作系統(tǒng)頁面淘汰算法,所述方法具體步驟包括:
步驟101.令i=1,i為頁面淘汰隊(duì)列頁面的序號(hào);
步驟102.讀取頁面淘汰隊(duì)列第i個(gè)頁面Ti;
步驟103.判斷頁面淘汰閾值Cim是否大于等于2,Cim表示頁面淘汰隊(duì)列第i個(gè)頁面Ti的淘汰閾值Cm, 淘汰閾值Cm表示一個(gè)頁面分別根據(jù)先進(jìn)先出淘汰算法、最近最久未使用淘汰算法、最近最少使用淘汰算法三種算法判斷是否淘汰該頁面的結(jié)果的總和,
若Cim≥2,則說明三種算法中有兩種以上的算法認(rèn)為應(yīng)該淘汰該頁面,此時(shí)淘汰第i個(gè)頁面Ti寫回外存,若Cim<2,則說明三種算法中最多有一種算法認(rèn)為應(yīng)該淘汰該頁面,此時(shí)進(jìn)行下一步的判斷;
步驟104.判斷i是否小于n,n表示頁面淘汰隊(duì)列中頁面的個(gè)數(shù),
若i小于n,則i加1,并返回步驟102,若否則說明沒有其他的頁面需要判斷是否被淘汰,此時(shí)淘汰第1個(gè)頁面T1寫回外存;
步驟105.重復(fù)步驟102~步驟104。
進(jìn)一步地,所述的淘汰閾值Cm的具體計(jì)算步驟包括:
步驟201.讀取待淘汰的頁面;
步驟202.應(yīng)用先進(jìn)先出淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C1=1,否則C1=0;
步驟203.應(yīng)用最近最久未使用淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C2=1,否則C2=0;
步驟204.應(yīng)用最近最少使用淘汰算法判定是否淘汰該頁面,若淘汰該頁面,則C3=1,否則C3=0;
步驟205.計(jì)算淘汰閾值Cm,計(jì)算公式為Cm=C1+C2+C3。
以上結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實(shí)施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下作出各種變化。