您好,登錄后才能下訂單哦!
懇求分頁零碎樹立在根本分頁零碎根底之上,為了支撐虛擬存儲器功用而添加了懇求調(diào)頁功用和頁面置換功用。懇求分頁是今朝最常用的一種完成虛擬存儲器的辦法。
在懇求分頁零碎中,只需求將以后需求的一局部頁面裝入內(nèi)存,即可以啟舉措業(yè)運轉(zhuǎn)。在功課履行進(jìn)程中,當(dāng)所要拜訪的頁面不在內(nèi)存時,再經(jīng)過調(diào)頁功用將其調(diào)入,同時還可以經(jīng)過置換功用將臨時不必的頁面換出到外存上,以便騰出內(nèi)存空間。
為了完成懇求分頁,零碎必需供給必定的硬件支撐。除了需求必定容量的內(nèi)存及外存的盤算機(jī)零碎,還需求有頁表機(jī)制、缺頁中綴機(jī)構(gòu)和地址變換機(jī)構(gòu)。
懇求分頁零碎的頁表機(jī)制分歧于根本分頁零碎,懇求分頁零碎在一個功課運轉(zhuǎn)之前不請求全體一次性調(diào)入內(nèi)存,因而在功課的運轉(zhuǎn)進(jìn)程中,必定會呈現(xiàn)要拜訪的頁面不在內(nèi)存的狀況,若何發(fā)現(xiàn)和處置這種狀況是懇求分頁零碎必需處理的兩個根本成績。為此,在懇求頁表項中添加了四個字段,如圖3-24所示。
圖3-24 懇求分頁零碎中的頁表項
添加的四個字段闡明如下:
形態(tài)位P:用于指導(dǎo)該頁能否已調(diào)入內(nèi)存,供程序拜訪時參考。
拜訪字段A:用于記載本頁在一段工夫內(nèi)被拜訪的次數(shù),或記載本頁比來己有多長工夫未被拜訪,供置換算法換出頁面時參考。
修正位M:標(biāo)識該頁在調(diào)入內(nèi)存后能否被修正過。
外存地址:用于指出該頁在外存上的地址,平日是物理塊號,供調(diào)入該頁時參考。
在懇求分頁零碎中,每當(dāng)所要拜訪的頁面不在內(nèi)存時,便發(fā)生一個缺頁中綴,懇求操作零碎將所缺的頁調(diào)入內(nèi)存。此時應(yīng)將缺頁的過程壅塞(調(diào)頁完成叫醒),假如內(nèi)存中有閑暇塊,則分派一個塊,將要調(diào)入的頁裝入該塊,并修正頁表中響應(yīng)頁表項,若此時內(nèi)存中沒有閑暇塊,則要鐫汰某頁(若被鐫汰頁在內(nèi)存時期被修正過,則要將其寫回外存)。
缺頁中綴作為中綴異樣要閱歷,諸如維護(hù)CPU情況、剖析中綴緣由、轉(zhuǎn)入缺頁中綴處置程序、恢復(fù)CPU情況等幾個步調(diào)。但與普通的中綴比擬,它有以下兩個分明的差別:
在指令履行時期發(fā)生和處置中綴旌旗燈號,而非一條指令履行完后,屬于外部中綴。
一條指令在履行時期,能夠發(fā)生屢次缺頁中綴。
懇求分頁零碎中的地址變換機(jī)構(gòu),是在分頁零碎地址變換機(jī)構(gòu)的根底上,為完成虛擬內(nèi)存,又添加了某些功用而構(gòu)成的。
圖3-25懇求分頁中的地址變換進(jìn)程
如圖3-25所示,在停止地址變換時,先檢索快表:
若找到要拜訪的頁,便修正頁表項中的拜訪位(寫指令則還須重置修正位),然后應(yīng)用頁表項中給出的物理塊號和頁邊疆址構(gòu)成物理地址。
若未找到該頁的頁表項,應(yīng)到內(nèi)存中去查找頁表,再比照頁表項中的形態(tài)位P,看該頁能否已調(diào)入內(nèi)存,未調(diào)入則發(fā)生缺頁中綴,懇求從外存把該頁調(diào)入內(nèi)存。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。