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