作業系統之虛擬儲存器

2021-12-29 22:53:16 字數 3222 閱讀 8143

1. 常規儲存器管理方式的特徵和區域性性原理

常規儲存器管理方式的特徵:

一次性。要求將作業全部裝入記憶體才能執行,當程式大於記憶體時,作業無法執行。 駐留性。裝入記憶體中用的作業一直駐留記憶體,直到執行結束(處於等待狀態的程序也占用記憶體)。 區域性性原理:

時間侷限性。如果程式中的某條指令一旦執行, 則不久以後該指令可能再次執行;如果某資料被訪問過, 則不久以後該資料可能再次被訪問。產生時間侷限性的典型原因,是由於在程式中存在著大量的迴圈操作。 空間侷限性。一旦程式訪問了某個儲存單元,在不久之後,其附近的儲存單元也將被訪問,即程式在一段時間內所訪問的位址,可能集中在一定的範圍之內,其典型情況便是程式的順序執行。

2. 虛擬儲存器的定義和特徵

虛擬儲存器定義:

具有請求調入功能和置換功能, 能從邏輯上對記憶體容量加以擴充的一種儲存器系統。 其邏輯容量由記憶體容量和外存容量之和所決定,其執行速度接近於記憶體速度,而每位的成本卻又接近於外存。 虛擬儲存器的特徵 :

多次性:作業被分成多次調入記憶體執行。 對換性:允許在作業的執行過程中進行換進、換出。 虛擬性:從邏輯上擴充記憶體容量。 實現虛擬儲存器的效果:

可使乙個大的使用者程式能在較小的記憶體空間中執行;也可在記憶體同時裝入更多的程序使它們併發執行。 從使用者的角度看,該系統所具有的記憶體容量,比實際容量大得多。這只是一種感覺,是虛的。故稱為虛擬儲存器。 虛擬空間的容量由系統的有效位址長度決定。假設位址長度為32,按位元組定址,則虛擬儲存空間大小為232個位元組。即32位的作業系統,使用者程式只能編寫最多4g的程式(虛存空間) 。1. 請求分頁儲存管理方式

(1) 請求分頁的硬體支援

請求頁標機制,將使用者位址空間中的邏輯位址對映成為記憶體空間中的實體地址。

請求分頁系統中的每個頁表結構如下:

狀態位p:表明該頁是否在記憶體。

訪問欄位a:記錄本頁在一段時間內被訪問的次數,或記錄本頁最近有多長時間未被訪問,供換出頁面時參考。 修改位m:檢視此頁在調入記憶體後是否被修改過。供置換頁面時參考。 外存位址:指出該頁在外存上的位址,供調入該頁時參考。

(2) 缺頁中端機構

要訪問的頁不在記憶體時,便產生了乙個缺頁中斷,請求作業系統將該頁面調入記憶體。缺頁中斷同其它中斷一樣要經歷cpu環境保護、分析中斷原因、轉入中斷處理程式、恢復cpu環境等步驟。但缺頁中斷又是一種特殊的中斷。 這種中斷在指令執行期間產生和處理中斷訊號。 一條指令在執行期間可能產生多次缺頁中斷。 位址變換機構如下圖:

(1) 請求分頁中的頁面置換演算法

最佳置換演算法

其所選擇的被淘汰頁面,將是以後永不使用的, 或許是在最長(未來)時間內不再被訪問的頁面。採用最佳置換演算法,通常可保證獲得最低的缺頁率。 實際上該演算法是無法實現的。 先進先出置換演算法

實現方便。不需要額外硬體。 效果不好。 最近最久未使用lru演算法

根據頁面調入記憶體後的使用情況來做出決策。 為了快速知道哪一頁是最近最久未使用的頁面,需要硬體支援。 clock置換演算法

簡單的clock置換演算法 只需要為每頁設定一位訪問位,再將記憶體中的所有頁面都通過鏈結指標連線成乙個迴圈佇列。當某頁訪問時,其訪問位被置為1.置換演算法在選擇一頁淘汰時,只需要檢查頁的訪問位。如果是0,就選擇該頁換出。若為1,則將其重新置為0,暫不換出。給與第二次駐留記憶體的機會。流程如下:

改進的clock置換演算法

在將乙個頁面換出時,若該頁已被修改過,便將該頁重新寫回磁碟上,但如果該頁未被修改過,則不必將它考回磁碟。 改進型clock演算法:換出的頁面是既未使用的、又未被修改過的頁面。 在clock演算法的訪問為a基礎上加乙個修改位m。 由訪問位a和修改位m可以組合成下面四種型別的頁面:

1類(a=0, m=0):表示該頁最近既未被訪問, 又未被修改, 是最佳淘汰頁。 2類(a=0, m=1): 表示該頁最近未被訪問, 但已被修改, 並不是很好的淘汰頁。 3類(a=1, m=0): 最近已被訪問, 但未被修改, 該頁有可能再被訪問。 4類(a=1, m=1):最近已被訪問且被修改, 該頁可能再被訪問。 其執行過程可分成以下三步:

從指標所指示的當前位置開始, 掃瞄迴圈佇列, 尋找a=0且m=0的第一類頁面, 將所遇到的第乙個頁面作為所選中的淘汰頁。 在第一次掃瞄期間不改變訪問位a(改變訪問位會對第2步產生影響)。 如果第一步失敗,即查詢一周後未遇到第一類頁面, 則開始第二輪掃瞄,尋找a=0且m=1的第二類頁面,將所遇到的第乙個這類頁面作為淘汰頁。在第二輪掃瞄期間,將所有掃瞄過的頁面的訪問位都置0。 否則第三遍找a=0,m=0的頁面,有則淘汰(其實這裡的a=0,m=0的頁面是由a=1,m=0的頁面被第2步修改形成的)。 否則第四遍找a=0,m=1的頁面,(肯定會找到)。其實這裡的a=0,m=1的頁面是由a=1,m=1的頁面被第2步修改形成的)。

(2) 抖動

產生原因:

因系統中執行的程序太多,分配給每個程序的物理塊太少,導致每個程序在執行時,頻繁地出現缺頁,必須請求os將所缺的頁調入記憶體。

2. 請求分段儲存管理方式

虛擬段式分配又稱為請求分段,在程式裝入時,只需調入幾個分段而不是所有的分段。隨著程式的執行,如果需要訪問的段不在記憶體,可以請求作業系統把需要的段調入記憶體。

(1) 請求分段中的硬體支援

請求段表機制:

訪問方式:表明本段是只執行、唯讀,還是允許讀/寫。 訪問欄位a :用於記錄該段被訪問的頻繁程度。 修改位m:用於記錄該段在進入記憶體後是否被修改過。 存在位p :記錄該段是否已調入記憶體。 增補位:表明本段在執行過程中,是否做過動態增長。 外存始址:表明本段在外存中的起始盤號。

(2) 缺段中斷機構

請求分段系統中的中斷處理過程:

請求分段系統中的位址變換機構:

作業系統 虛擬儲存器

虛擬儲存器是在常規儲存器的擴充套件 常規虛擬器的特徵分為兩個 1 一次性。2 駐留性 侷限性原理分為 1 時間侷限性。2 空間侷限性 所謂虛擬儲存器,指具有請求調入功能和置換功能,能從邏輯上對記憶體容量加以擴充的一種儲存器系統 虛擬儲存器的特徵 1 多次性。2 對換性。3 虛擬性。需要請求分頁頁表機...

作業系統 虛擬儲存器

作業系統 儲存器管理 作業系統 處理機排程簡述 作業系統 之程序管理 作業系統 經典的同步問題 生產者消費者問題,哲學家進餐問題,讀寫問題 記憶體的容量有限,如果有大作業或大量作業執行,記憶體就會不夠用.為解決這一問題邊催生了虛擬儲存器的概念.常規儲存器管理方式的特徵 一次性 作業必須一次性地全部裝...

作業系統筆記 虛擬儲存器

虛擬儲存技術 從邏輯層面上實現對記憶體容量的擴充,改善系統效能 常規儲存器管理方式特徵 一次性駐留性 虛擬儲存器的工作原理 給予區域性性原理可知,應用程式在執行之前無需全部載入,而只需要載入少數頁面或段就可執行,其餘部分暫留外存。如果出現缺頁 段 就發出缺頁 段 請求,此時系統再講請求頁調入記憶體 ...