虛擬儲存器概述
1. 常規儲存器管理方式的特徵和區域性性原理
常規儲存器管理方式的特徵:
一次性。要求將作業全部裝入記憶體才能執行,當程式大於記憶體時,作業無法執行。
駐留性。裝入記憶體中用的作業一直駐留記憶體,直到執行結束(處於等待狀態的程序也占用記憶體)。
區域性性原理:
時間侷限性。如果程式中的某條指令一旦執行, 則不久以後該指令可能再次執行;如果某資料被訪問過, 則不久以後該資料可能再次被訪問。產生時間侷限性的典型原因,是由於在程式中存在著大量的迴圈操作。
空間侷限性。一旦程式訪問了某個儲存單元,在不久之後,其附近的儲存單元也將被訪問,即程式在一段時間內所訪問的位址,可能集中在一定的範圍之內,其典型情況便是程式的順序執行。
2. 虛擬儲存器的定義和特徵
虛擬儲存器定義:
具有請求調入功能和置換功能, 能從邏輯上對記憶體容量加以擴充的一種儲存器系統。
其邏輯容量由記憶體容量和外存容量之和所決定,其執行速度接近於記憶體速度,而每位的成本卻又接近於外存。
虛擬儲存器的特徵 :
多次性:作業被分成多次調入記憶體執行。
對換性:允許在作業的執行過程中進行換進、換出。
虛擬性:從邏輯上擴充記憶體容量。
實現虛擬儲存器的效果:
可使乙個大的使用者程式能在較小的記憶體空間中執行;也可在記憶體同時裝入更多的程序使它們併發執行。
從使用者的角度看,該系統所具有的記憶體容量,比實際容量大得多。這只是一種感覺,是虛的。故稱為虛擬儲存器。
虛擬空間的容量由系統的有效位址長度決定。假設位址長度為32,按位元組定址,則虛擬儲存空間大小為232個位元組。即32位的作業系統,使用者程式只能編寫最多4g的程式(虛存空間) 。
虛擬儲存的實現方式
1. 請求分頁儲存管理方式
(1) 請求分頁的硬體支援
請求頁標機制,將使用者位址空間中的邏輯位址對映成為記憶體空間中的實體地址。
狀態位p:表明該頁是否在記憶體。
(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.常規儲存器管理方式的特徵 1 一次性 2 駐留性 2.區域性性原理 1 時間侷限性 如果程式中的某條指令被執行,則不久以後該指令可能再次執行 如果某資料被訪問過,則不久以後該資料可能再次被訪問。2 空間侷限性 一旦程式訪問了某個儲存單元,在不久之後,其附近的儲存單元也將被訪問,即程式在一段時間內...
作業系統 第五章虛擬儲存器
在此之前,第四章所講述的常規儲存器管理方式的缺點是?一次性 作業在執行前一次性地全部裝入記憶體 駐留性 作業裝入記憶體後,便一直駐留在記憶體中,直至作業執行結束。程式執行的特點 多數情況下仍是順序執行。少部分的轉移和過程呼叫指令會使程式執行由一部分區域轉至另一部分區域 但研究表明呼叫深度多數情況下不...
(作業系統)第五章 虛擬儲存器
2 區域性性原理 程式在執行時呈現出的區域性性規律,即在一段時間內,程式的執行僅侷限於某個部分,相應地,它所訪問地儲存空間也侷限於某個區域。3 虛擬儲存器地基本工作情況 4 分頁請求系統 在分頁系統的基礎上增加了請求調頁功能和頁面置換功能所形成的頁式虛擬儲存系統。5 請求分段系統 在分段系統的基礎上...