請求分頁系統

請求分頁系統

請求分頁也稱為頁式虛擬存儲管理,是建立在基本分頁基礎上,為了能支持虛擬存儲器功能而增加了請求調頁功能和頁面置換功能其基本思想是:在進程開始運行之前,不是裝入全部頁面,而是裝入部分頁面,之後根據進程運行的需要,動態裝入其他頁面,當記憶體空間已滿,又需要裝入新的頁面時,根據某種算法淘汰某個頁面,以便裝進新的頁面。

基本概述

請求分頁系統建立在基本分頁系統基礎之上,為了支持虛擬存儲器功能而增加了請求調頁功能和頁面置換功能。請求分頁是最常用的一種實現虛擬存儲器的方法。
在請求分頁系統中,只要求將當前需要的一部分頁面裝入記憶體,便可以啟動作業運行。在作業執行過程中,當所要訪問的頁面不在記憶體時,再通過調頁功能將其調入,同時還可以通過置換功能將暫時不用的頁面換出到外存上,以便騰出記憶體空間。
為了實現請求分頁,系統必須提供一定的硬體支持。除了需要一定容量的記憶體及外存的計算機系統,還需要有頁表機制、缺頁中斷機構和地址變換機構。

常用的算法

a. 最佳置換算法;
b.先進先出算法;
c. 最近最久未使用LRU置換算法;
d. Clock置換算法;
e. 此外,還有最少使用置換算法和頁面緩衝算法

頁表機制

請求分頁系統的頁表機制不同於基本分頁系統, 請求分頁系統在一個作業運行前不需要全部一次性調入記憶體,因此在作業的運行過程中,必然會出現要訪問的頁面不在記憶體的情況,如何發現和處理這種情況是請求分頁系統必須解決的兩個基本問題。為此,在請求頁表項中增加了兩個欄位。

頁號物理塊號狀態位P訪問欄位A修改位M外存地址

狀態位P:用於指示該頁是否已調入記憶體,供程式訪問時參考。
訪問欄位A:用於記錄本頁在一段時間內被訪問的次數,或記錄本頁在最近已多長時間未被訪問,供置換算法換出頁面時參考。
修改位M:標識該頁在調入記憶體後是否被修改過。
外存地址:用於指出該頁在外存上的地址,通常是物理塊號,供調入該頁時參考。

缺頁中斷機構

在請求分頁系統中,每當所要訪問的頁面不在記憶體時,便產生一個缺頁中斷,請求作業系統將所缺的頁調入記憶體。此時應將缺頁的進程阻塞(調頁完成喚醒),如果記憶體中有空閒塊,則分配一個塊,將要調入的頁裝入該塊,並修改頁表中相應頁表項,若此時記憶體中沒有空閒塊,則要淘汰某頁(若被淘汰頁在記憶體期間被修改過,則要將其寫回外存)。
缺頁中斷作為中斷同樣要經歷,諸如保護CPU環境、分析中斷原因、轉入缺頁中斷處理程式、恢復CPU環境等幾個步驟。但與一般的中斷相比,它有以下兩個明顯的區別:

•在指令執行期間產生和處理中斷信號,而非一條指令執行完後,屬於內部中斷。

•一條指令在執行期間,可能產生多次缺頁中斷。

地址變換機構

請求分頁系統中的地址變換機構,是在分頁系統地址變換機構的基礎上,為實現虛擬記憶體,又增加了某些功能而形成的。
在進行地址變換時,先檢索快表:
若找到要訪問的頁,便修改頁表項中的訪問位(寫指令則還需重置修改位),然後利用頁表項中給出的物理塊號和頁內地址形成物理。
若未找到該頁的頁表項,應到記憶體中去查找頁表,再去對比頁表項中狀態位P,看該頁是否已調入記憶體,未調入則產生缺頁中斷,請求從外存把該頁調入記憶體。

包含的數據項及作用

a.在請求分頁系統中,其頁表項中包含的數據項有頁號,物理塊號,狀態位P,訪問欄位A,修改位M和
---外存地址;
b.其中狀態位P指示該頁是否調入記憶體,供程式訪問時參考;
c.訪問欄位A用於記錄本頁在一段時間內被訪問的次數,或最近已有多長時間未被訪問,提供給置換算法
---選擇換出頁面時參考;
d.修改位M表示該頁在調入記憶體後是否被修改過;
e.外存地址用於指出該頁在外存上的地址,通常是物理塊號,供調入該頁時使用

相關詞條

熱門詞條

聯絡我們