哈工程考研課件-第4章虛擬存儲器_第1頁
哈工程考研課件-第4章虛擬存儲器_第2頁
哈工程考研課件-第4章虛擬存儲器_第3頁
哈工程考研課件-第4章虛擬存儲器_第4頁
哈工程考研課件-第4章虛擬存儲器_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、4.6 虛擬存儲器的基本概念虛擬存儲器的基本概念4.6.虛擬存儲器的引入虛擬存儲器的引入1. 問題的提出問題的提出 程序大于總內(nèi)存程序大于總內(nèi)存 多道程序要運行內(nèi)存只能容納部分作業(yè)多道程序要運行內(nèi)存只能容納部分作業(yè) 要解決上述問題必須改變常規(guī)存儲器管理要解決上述問題必須改變常規(guī)存儲器管理方式中作業(yè)方式中作業(yè)一次性裝入一次性裝入和運行時的和運行時的駐留性駐留性。 OS把程序當(dāng)前使用的部分代碼和數(shù)據(jù)保留把程序當(dāng)前使用的部分代碼和數(shù)據(jù)保留在內(nèi)存中在內(nèi)存中, 而把其它部分存在磁盤上而把其它部分存在磁盤上, 需要時在需要時在內(nèi)存和磁盤之間動態(tài)對換內(nèi)存和磁盤之間動態(tài)對換, 以解決上述問題以解決上述問題;

2、這這就是虛擬存儲器的基本思想。就是虛擬存儲器的基本思想。2. 程序局部性原理程序局部性原理 在一段時間內(nèi)一個程序的執(zhí)行往往呈現(xiàn)在一段時間內(nèi)一個程序的執(zhí)行往往呈現(xiàn)出高度的局部性出高度的局部性, 順序執(zhí)行的多順序執(zhí)行的多, 過程調(diào)用過程調(diào)用, 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu), 對數(shù)組操作等等。表現(xiàn)為對數(shù)組操作等等。表現(xiàn)為: 時間局部性:時間局部性: 一條指令被執(zhí)行了,則在不久的將來它一條指令被執(zhí)行了,則在不久的將來它可能再被執(zhí)行??赡茉俦粓?zhí)行??臻g局部性:空間局部性: 若某一存儲單元被使用,則在一定時間若某一存儲單元被使用,則在一定時間內(nèi)內(nèi), 與該存儲單元附近的單元可能被使用。與該存儲單元附近的單元可能被使用。

3、3. 虛擬存儲技術(shù)虛擬存儲技術(shù) 以以CPU時間和外存空間換取昂貴內(nèi)存空時間和外存空間換取昂貴內(nèi)存空間間, 這是操作系統(tǒng)中的資源轉(zhuǎn)換技術(shù)。這是操作系統(tǒng)中的資源轉(zhuǎn)換技術(shù)。實現(xiàn)思想實現(xiàn)思想: 當(dāng)進(jìn)程運行時當(dāng)進(jìn)程運行時, 先將一部分程序裝先將一部分程序裝入內(nèi)存入內(nèi)存, 另一部分暫時留在外存另一部分暫時留在外存, 當(dāng)要執(zhí)行的當(dāng)要執(zhí)行的指令不在內(nèi)存時指令不在內(nèi)存時, 由系統(tǒng)自動將它們從外存調(diào)由系統(tǒng)自動將它們從外存調(diào)換到內(nèi)存。即換到內(nèi)存。即具有請求調(diào)入和置換功能具有請求調(diào)入和置換功能。虛擬存儲器定義虛擬存儲器定義: 具有請求調(diào)入和置換功能具有請求調(diào)入和置換功能,對內(nèi)存容量擴(kuò)充對內(nèi)存容量擴(kuò)充, 得到一個邏輯容

4、量等于內(nèi)存得到一個邏輯容量等于內(nèi)存與外存容量之和的與外存容量之和的“虛內(nèi)存虛內(nèi)存”。 頁頁 號號 P P 頁頁 內(nèi)內(nèi) 位位 移移 量量 W W31 11 04. 虛擬地址結(jié)構(gòu)虛擬地址結(jié)構(gòu)頁的大小頁的大小= =?頁的多少頁的多少= =?虛存的大小虛存的大小= =?CPUMMU內(nèi)存內(nèi)存磁盤磁盤控制器控制器總線總線CPU把虛地址送給把虛地址送給MMU MMU把物理地址送給存儲器把物理地址送給存儲器4.6.2 虛擬存儲器的實現(xiàn)方式虛擬存儲器的實現(xiàn)方式請求分頁方式請求分頁方式分段請求方式分段請求方式硬件支持:硬件支持:請求分頁請求分頁(段段)的頁的頁(段段)表機構(gòu)表機構(gòu)缺頁缺頁(段段)中斷機構(gòu)中斷機構(gòu)請

5、求分頁請求分頁(段段)的地址變換機構(gòu)的地址變換機構(gòu)4.6.3 虛擬存儲器的特征虛擬存儲器的特征離散性離散性: 是實現(xiàn)虛擬存儲器的基礎(chǔ)是實現(xiàn)虛擬存儲器的基礎(chǔ)多次性多次性: 多次將部分調(diào)入內(nèi)存多次將部分調(diào)入內(nèi)存, 每當(dāng)運行到不每當(dāng)運行到不在內(nèi)存那部分程序時在內(nèi)存那部分程序時,再將它調(diào)入再將它調(diào)入交換性交換性: 暫時不執(zhí)行允許換出暫時不執(zhí)行允許換出, 需要時再換入需要時再換入虛擬性虛擬性: 邏輯邏輯(虛虛)上擴(kuò)充了內(nèi)存物理上擴(kuò)充了內(nèi)存物理(實實)容量容量 虛擬性以多次性和交換性為基礎(chǔ)虛擬性以多次性和交換性為基礎(chǔ),多次性和多次性和交換性又必須建立在離散分配的基礎(chǔ)之上。交換性又必須建立在離散分配的基礎(chǔ)之

6、上。4.7 請求分頁式存儲管理請求分頁式存儲管理 在進(jìn)程開始運行之前在進(jìn)程開始運行之前, 不是裝入全部頁面不是裝入全部頁面,而是裝而是裝入一個或零個頁面入一個或零個頁面, 之后根據(jù)進(jìn)程運行的需要之后根據(jù)進(jìn)程運行的需要, 動態(tài)裝動態(tài)裝入其它頁面入其它頁面; 當(dāng)內(nèi)存空間已滿當(dāng)內(nèi)存空間已滿,而又需要裝入新的頁面而又需要裝入新的頁面時時, 則根據(jù)某種算法淘汰某個頁面則根據(jù)某種算法淘汰某個頁面, 以便裝入新頁面。以便裝入新頁面。4.7.1 硬件支持及工作過程硬件支持及工作過程1、頁表機制、頁表機制狀態(tài)位狀態(tài)位P:表示該頁是在內(nèi)存還是在外存:表示該頁是在內(nèi)存還是在外存訪問位:記錄該頁在一段時間內(nèi)被訪問的次

7、數(shù)訪問位:記錄該頁在一段時間內(nèi)被訪問的次數(shù)修改位:查看此頁是否在內(nèi)存中被修改過修改位:查看此頁是否在內(nèi)存中被修改過內(nèi)存塊號內(nèi)存塊號 狀態(tài)位狀態(tài)位 訪問位訪問位 修改位修改位 外存地址外存地址 頁號頁號.44KX40KX36K532KX28KX24K320K416K012KX 8K1 4K2 0K虛地址空間虛地址空間物理地址空間物理地址空間 虛頁虛頁頁框頁框 20K 16K 12K 8K 4K 0K.24K2、缺頁中斷機構(gòu)、缺頁中斷機構(gòu) 在地址映射過程中在地址映射過程中, 在頁表中發(fā)現(xiàn)所要訪在頁表中發(fā)現(xiàn)所要訪問的頁不在內(nèi)存問的頁不在內(nèi)存, 則產(chǎn)生缺頁中斷。操作系統(tǒng)則產(chǎn)生缺頁中斷。操作系統(tǒng)接到此中

8、斷信號后接到此中斷信號后, 就調(diào)出缺頁中斷處理程序就調(diào)出缺頁中斷處理程序,根據(jù)頁表中給出的外存地址根據(jù)頁表中給出的外存地址, 將該頁調(diào)入內(nèi)存將該頁調(diào)入內(nèi)存,使進(jìn)程繼續(xù)運行下去。使進(jìn)程繼續(xù)運行下去。 如果內(nèi)存中有空閑塊如果內(nèi)存中有空閑塊, 則分配一頁將新調(diào)則分配一頁將新調(diào)入頁裝入內(nèi)存入頁裝入內(nèi)存, 并修改頁表中相應(yīng)頁表項目的并修改頁表中相應(yīng)頁表項目的駐留位及相應(yīng)的內(nèi)存塊號。若此時內(nèi)存中沒有駐留位及相應(yīng)的內(nèi)存塊號。若此時內(nèi)存中沒有空閑塊空閑塊, 則要淘汰某頁則要淘汰某頁, 若該頁在內(nèi)存期間被修若該頁在內(nèi)存期間被修改過改過, 則要將其寫回外存。則要將其寫回外存。保留保留CPU現(xiàn)場現(xiàn)場從外存找到缺頁從

9、外存找到缺頁內(nèi)存滿內(nèi)存滿?修改過修改過?選擇一頁換出選擇一頁換出將該頁寫回外存將該頁寫回外存發(fā)命令從外存讀缺頁發(fā)命令從外存讀缺頁啟動啟動I/O硬件硬件將一頁從外存換入將一頁從外存換入修改頁表修改頁表頁越界頁越界?檢索快表檢索快表命中命中?訪問頁表訪問頁表修改快表修改快表在內(nèi)存在內(nèi)存?修改訪問位修改位修改訪問位修改位形成物理地址形成物理地址開始N繼續(xù)繼續(xù) Y中斷中斷NY越界越界中斷中斷NYNY缺頁缺頁中斷中斷Y影響缺頁次數(shù)的因素影響缺頁次數(shù)的因素(1) 分配給進(jìn)程的物理頁面數(shù)分配給進(jìn)程的物理頁面數(shù)(2) 頁面本身的大小頁面本身的大小(3) 程序的編制方法程序的編制方法(4) 頁面淘汰算法頁面淘汰

10、算法4.7.2 頁面分配與置換頁面分配與置換請求調(diào)頁中操作系統(tǒng)提供的支持請求調(diào)頁中操作系統(tǒng)提供的支持 請求調(diào)頁時請求調(diào)頁時, 把所需的頁從外存調(diào)入內(nèi)存把所需的頁從外存調(diào)入內(nèi)存 置換時置換時, 將內(nèi)存的某些頁調(diào)至外存將內(nèi)存的某些頁調(diào)至外存問題:問題:進(jìn)程正常運行所需的最少物理塊是多少?進(jìn)程正常運行所需的最少物理塊是多少?每個進(jìn)程分配的物理塊數(shù)是固定的嗎?每個進(jìn)程分配的物理塊數(shù)是固定的嗎?每個進(jìn)程分配的物理塊數(shù)依據(jù)是什么?每個進(jìn)程分配的物理塊數(shù)依據(jù)是什么?1. 最小物理塊數(shù)的確定最小物理塊數(shù)的確定 最小物理塊數(shù)與硬件結(jié)構(gòu)、指令格式、尋最小物理塊數(shù)與硬件結(jié)構(gòu)、指令格式、尋址方式有關(guān)。址方式有關(guān)。 直

11、接尋址方式最少塊數(shù)為直接尋址方式最少塊數(shù)為2 間接尋址方式最少塊數(shù)為間接尋址方式最少塊數(shù)為3 功能較強的機器最少塊數(shù)為功能較強的機器最少塊數(shù)為62. 頁面分配和置換策略頁面分配和置換策略(固定分配、可變分配固定分配、可變分配) 1) 固定分配局部置換固定分配局部置換 系統(tǒng)中駐留的進(jìn)程數(shù)與分配給進(jìn)程的頁數(shù)是什么系統(tǒng)中駐留的進(jìn)程數(shù)與分配給進(jìn)程的頁數(shù)是什么關(guān)系?(正比?反比?)關(guān)系?(正比?反比?) 塊數(shù)太多會出現(xiàn)什么問題?塊數(shù)太多會出現(xiàn)什么問題? 塊數(shù)太少會出現(xiàn)什么問題?塊數(shù)太少會出現(xiàn)什么問題?2) 可變分配全局置換可變分配全局置換 空閑物理塊由誰管理?空閑物理塊由誰管理?(OS?進(jìn)程?)進(jìn)程?)

12、 缺頁中斷時從何處獲得空閑頁?缺頁中斷時從何處獲得空閑頁? 調(diào)入調(diào)出什么時候發(fā)生(空閑頁用完還是給進(jìn)程調(diào)入調(diào)出什么時候發(fā)生(空閑頁用完還是給進(jìn)程分配的頁用完?)分配的頁用完?)3) 可變分配局部置換可變分配局部置換 為每個進(jìn)程所分配的物理塊數(shù)相對固定為每個進(jìn)程所分配的物理塊數(shù)相對固定 從每個進(jìn)程所分配的頁面中進(jìn)行換入換出。從每個進(jìn)程所分配的頁面中進(jìn)行換入換出。 從全局的角度動態(tài)調(diào)整每個進(jìn)程所分配的頁面從全局的角度動態(tài)調(diào)整每個進(jìn)程所分配的頁面3. 分配算法分配算法(固定分配策略)固定分配策略) 平均分配算法平均分配算法 駐留內(nèi)存的進(jìn)程平均分配駐留內(nèi)存的進(jìn)程平均分配, 貌似公平貌似公平, 實際實際

13、不公平不公平, 長進(jìn)程缺頁率高長進(jìn)程缺頁率高 按比例分配算法按比例分配算法 按駐留內(nèi)存的進(jìn)程的大小比例分配按駐留內(nèi)存的進(jìn)程的大小比例分配, 較公平較公平 考慮優(yōu)先權(quán)的分配算法考慮優(yōu)先權(quán)的分配算法 整個內(nèi)存分為兩部分整個內(nèi)存分為兩部分, 一部分按比例分配一部分按比例分配, 另一部分按優(yōu)先權(quán)分配另一部分按優(yōu)先權(quán)分配, 照顧到重要緊迫的照顧到重要緊迫的進(jìn)程盡快完成進(jìn)程盡快完成4.7.3 頁面調(diào)入策略頁面調(diào)入策略什么時候調(diào)入?從何處調(diào)入?怎么調(diào)入?什么時候調(diào)入?從何處調(diào)入?怎么調(diào)入?1.什么時候調(diào)入什么時候調(diào)入 預(yù)調(diào)入策略預(yù)調(diào)入策略: 一次調(diào)入若干相鄰頁一次調(diào)入若干相鄰頁(預(yù)計即將運行預(yù)計即將運行的頁

14、的頁)比單頁調(diào)入效率高比單頁調(diào)入效率高, 命中率約命中率約5050% %。 請求調(diào)頁策略請求調(diào)頁策略: 缺頁時提出請求缺頁時提出請求, OS將所需一頁調(diào)將所需一頁調(diào)入內(nèi)存入內(nèi)存, 易于實現(xiàn)易于實現(xiàn), I/O啟動頻率高系統(tǒng)開銷大。啟動頻率高系統(tǒng)開銷大。2. 從何處調(diào)入頁面從何處調(diào)入頁面-外存分為文件區(qū)和對換區(qū)外存分為文件區(qū)和對換區(qū)(I/O快快)系統(tǒng)有足夠的對換區(qū)時系統(tǒng)有足夠的對換區(qū)時, 運行前全部從文件區(qū)調(diào)入運行前全部從文件區(qū)調(diào)入對換區(qū)對換區(qū), 運行中全部從對換區(qū)調(diào)入所需頁。運行中全部從對換區(qū)調(diào)入所需頁。系統(tǒng)缺少足夠的對換區(qū)時系統(tǒng)缺少足夠的對換區(qū)時, 不會被修改的頁從文件不會被修改的頁從文件區(qū)調(diào)

15、入?yún)^(qū)調(diào)入, 會被修改的頁從對換區(qū)調(diào)入換出。會被修改的頁從對換區(qū)調(diào)入換出。UNIX:未運行過的頁從文件區(qū)調(diào)入未運行過的頁從文件區(qū)調(diào)入, 換出到對換區(qū)換出到對換區(qū)3. 頁面調(diào)入過程頁面調(diào)入過程 當(dāng)程序所要訪問的頁不在內(nèi)存時當(dāng)程序所要訪問的頁不在內(nèi)存時, 向向CPU發(fā)出缺頁中斷發(fā)出缺頁中斷, 中斷處理程序首先保留中斷處理程序首先保留CPU環(huán)環(huán)境境, 再通過查找頁表得到該頁在外存的物理塊再通過查找頁表得到該頁在外存的物理塊號。號。 此時如果內(nèi)存未滿此時如果內(nèi)存未滿,則將該頁調(diào)入內(nèi)存并則將該頁調(diào)入內(nèi)存并修改頁表修改頁表,若內(nèi)存已滿若內(nèi)存已滿,則從內(nèi)存中選出一頁準(zhǔn)則從內(nèi)存中選出一頁準(zhǔn)備換出備換出, 如果該

16、頁已被修改則還需將它寫回外如果該頁已被修改則還需將它寫回外存存, 然后再把所缺頁調(diào)入內(nèi)存并修改相應(yīng)的頁然后再把所缺頁調(diào)入內(nèi)存并修改相應(yīng)的頁表項表項, 置器存儲位為置器存儲位為1并將此頁表項寫入快表。并將此頁表項寫入快表。整個調(diào)入過程對用戶是透明的。整個調(diào)入過程對用戶是透明的。好的頁面置換算法應(yīng)具有低的頁面更換頻率好的頁面置換算法應(yīng)具有低的頁面更換頻率 最佳置換算法最佳置換算法 先進(jìn)先出算法先進(jìn)先出算法 最近最久未使用最近最久未使用LRU 算法算法 CLOCK算法算法頁面緩沖算法頁面緩沖算法4.7.4 頁面置換算法頁面置換算法1. 最佳置換算法最佳置換算法淘汰永不使用或最長時間內(nèi)不再被訪問的頁淘

17、汰永不使用或最長時間內(nèi)不再被訪問的頁 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1 7 7 7 2 2 2 2 2 7 0 0 0 0 4 0 0 0 1 1 3 3 3 1 1 無法實現(xiàn)無法實現(xiàn), 只能用它做評價標(biāo)準(zhǔn)。只能用它做評價標(biāo)準(zhǔn)。2. 先進(jìn)先出置換算法先進(jìn)先出置換算法 簡單易行簡單易行 沒有考慮訪問頻度的差別沒有考慮訪問頻度的差別, 不能保證經(jīng)不能保證經(jīng)常訪問的頁不被淘汰。常訪問的頁不被淘汰。3. 最近最久未使用最近最久未使用LRU 算法算法淘汰在最近最久未使用的頁面。淘汰在最近最久未使用的頁面。 7 0 1 2 0 3 0 4 2 3 0 3 2

18、1 2 0 1 7 0 1 7 7 7 2 2 4 4 4 0 1 1 1 0 0 0 0 0 0 3 3 3 0 0 1 1 3 3 2 2 2 2 2 7如何確定哪一頁是最近最久未使用的頁?如何確定哪一頁是最近最久未使用的頁?1)移位寄存器)移位寄存器 為每個在內(nèi)存的頁面配置一個移位寄存器為每個在內(nèi)存的頁面配置一個移位寄存器,當(dāng)訪問當(dāng)訪問某頁時將相應(yīng)的寄存器最高位置某頁時將相應(yīng)的寄存器最高位置1, 每隔一定時間將寄每隔一定時間將寄存器右移存器右移1位位,將寄存器存的數(shù)看作一個數(shù)數(shù)將寄存器存的數(shù)看作一個數(shù)數(shù),顯然最小顯然最小值的寄存器對應(yīng)的頁就是最近最久未使用的頁。值的寄存器對應(yīng)的頁就是最近

19、最久未使用的頁。2)特殊棧)特殊棧 用特殊棧保存當(dāng)前在內(nèi)存的各頁面號用特殊棧保存當(dāng)前在內(nèi)存的各頁面號, 棧的大小棧的大小等于分配的物理塊數(shù)等于分配的物理塊數(shù), 當(dāng)前訪問頁號始終保持在棧頂當(dāng)前訪問頁號始終保持在棧頂, 棧底就是最近最久未使用的頁號。缺頁中斷時若棧未棧底就是最近最久未使用的頁號。缺頁中斷時若棧未滿則將新頁號壓棧滿則將新頁號壓棧, 若棧滿則淘汰棧底元素若棧滿則淘汰棧底元素, 所有元素所有元素下移再將新頁號壓棧。如訪問頁號的順序為:下移再將新頁號壓棧。如訪問頁號的順序為: 4,7,0,7,1,0,2,1,6分配的物理塊數(shù)為分配的物理塊數(shù)為4,則棧中頁面號變化情況如下:,則棧中頁面號變化

20、情況如下: 41704 704 074 744 7 0 7 1 0 2 1 601742017120761204. Linux 的的LRU算法算法 最初分配某個頁時最初分配某個頁時, 頁的壽命為頁的壽命為3, 每次頁被訪問每次頁被訪問, 其壽命增加其壽命增加3, 直到直到20為至。當(dāng)內(nèi)核的交換進(jìn)程運行為至。當(dāng)內(nèi)核的交換進(jìn)程運行時時(kswapd周期運行周期運行), 在內(nèi)存的所有頁面壽命減在內(nèi)存的所有頁面壽命減1。如。如果某個頁的壽命為果某個頁的壽命為0,則該頁作為交換候選頁。,則該頁作為交換候選頁。5. 簡單的簡單的CLOCK置換算法置換算法 每頁設(shè)置一訪問位每頁設(shè)置一訪問位A, 當(dāng)某頁被訪問

21、時當(dāng)某頁被訪問時, 其其訪問位訪問位A被置為被置為 1。將內(nèi)存中所有頁面都通。將內(nèi)存中所有頁面都通過鏈接指針鏈接成一個循環(huán)隊列過鏈接指針鏈接成一個循環(huán)隊列, 進(jìn)行循環(huán)進(jìn)行循環(huán)檢查。檢查。如果頁的訪問位如果頁的訪問位A=0, 則淘汰該頁則淘汰該頁; 若若A=1, 則重新將則重新將A置為置為0,暫不換出而給該頁第二次暫不換出而給該頁第二次駐留內(nèi)存的機會。繼續(xù)向后循環(huán)檢查駐留內(nèi)存的機會。繼續(xù)向后循環(huán)檢查, 直到直到某頁訪問位某頁訪問位A=0, 則淘汰之。則淘汰之。6. 改進(jìn)的改進(jìn)的CLOCK算法算法 頁面換出時頁面換出時,如果該頁已被修改如果該頁已被修改, 必須將它重新寫必須將它重新寫到磁盤上到磁盤

22、上; 但如果該頁未被修改但如果該頁未被修改, 則不必寫回磁盤。改則不必寫回磁盤。改進(jìn)的進(jìn)的CLOCK算法增加置換代價這一因素算法增加置換代價這一因素, 用修改位用修改位M表示表示, 優(yōu)先考慮優(yōu)先考慮M=0 (未被修改未被修改)的頁的頁, 淘汰順序為淘汰順序為: A=0,M=0 A=0,M=1 A=1,M=0 A=1,M=1其執(zhí)行過程分為三步:其執(zhí)行過程分為三步:(1) 尋找尋找A=0且且M=0, 找到則淘汰該頁找到則淘汰該頁, A和和M都不變。都不變。(2) 第一步失敗第一步失敗, 則進(jìn)行第二輪掃描則進(jìn)行第二輪掃描, 尋找尋找A=0且且M=1, 找到則淘汰該頁。此遍將所有經(jīng)過的頁面找到則淘汰該

23、頁。此遍將所有經(jīng)過的頁面A置置0;(3) 第二步也失敗第二步也失敗, 則此時所有頁的則此時所有頁的A=0。重復(fù)第一步。重復(fù)第一步, 如果仍失敗如果仍失敗, 再重復(fù)第二步再重復(fù)第二步, 一定能找到被淘汰的頁。一定能找到被淘汰的頁。7. 頁面緩沖算法頁面緩沖算法 采用前面介紹過的可變分配局部置換方采用前面介紹過的可變分配局部置換方式式, 內(nèi)存中一部分作為頁面緩沖區(qū)內(nèi)存中一部分作為頁面緩沖區(qū), 將緩沖區(qū)將緩沖區(qū)的物理快鏈接為兩個鏈表的物理快鏈接為兩個鏈表空閑鏈表空閑鏈表已修改頁面的鏈表已修改頁面的鏈表頁面緩沖算法頁面緩沖算法 頁面緩沖采用頁面緩沖采用FIFO置換算法。當(dāng)需要讀入一個頁面置換算法。當(dāng)需

24、要讀入一個頁面時時, 利用空閑鏈表的第一個物理快裝入該頁。利用空閑鏈表的第一個物理快裝入該頁。 如果被淘汰的頁面未被修改如果被淘汰的頁面未被修改, 就將它直接鏈接到空閑就將它直接鏈接到空閑鏈表表尾鏈表表尾, 否則否則, 則將其鏈接到已修改的鏈表表尾。該則將其鏈接到已修改的鏈表表尾。該頁面仍留在內(nèi)存中頁面仍留在內(nèi)存中, 并未進(jìn)行實際的換出。并未進(jìn)行實際的換出。 當(dāng)進(jìn)程再次訪問這些頁面時當(dāng)進(jìn)程再次訪問這些頁面時, 只需花費較小的開銷,只需花費較小的開銷,使該頁面又返回該進(jìn)程的駐留集。使該頁面又返回該進(jìn)程的駐留集。 當(dāng)被修改頁面達(dá)到一定數(shù)量時,再將它們一起寫回當(dāng)被修改頁面達(dá)到一定數(shù)量時,再將它們一起

25、寫回磁盤。顯著地減少了磁盤磁盤。顯著地減少了磁盤I/O的次數(shù)。的次數(shù)。4.7.5 請求分頁系統(tǒng)的性能分析請求分頁系統(tǒng)的性能分析1、工作集模型、工作集模型 根據(jù)程序的局部性原理根據(jù)程序的局部性原理, 進(jìn)程在一段時間進(jìn)程在一段時間內(nèi)一般總是集中訪問某些頁面內(nèi)一般總是集中訪問某些頁面, 這些頁面稱為這些頁面稱為活躍頁面活躍頁面, 如果分配給某進(jìn)程的物理頁面數(shù)太如果分配給某進(jìn)程的物理頁面數(shù)太少了少了, 使該進(jìn)程所需的活躍頁面不能全部裝入使該進(jìn)程所需的活躍頁面不能全部裝入內(nèi)存內(nèi)存, 則進(jìn)程在運行過程中將頻繁發(fā)生中斷。則進(jìn)程在運行過程中將頻繁發(fā)生中斷。 在某段時間內(nèi)在某段時間內(nèi), 進(jìn)程實際要訪問的頁面集進(jìn)

26、程實際要訪問的頁面集合稱為工作集合稱為工作集, 為進(jìn)程分配的物理頁面稱為工為進(jìn)程分配的物理頁面稱為工作集窗口作集窗口, 顯然工作集窗口尺寸越大缺頁中斷顯然工作集窗口尺寸越大缺頁中斷次數(shù)越少次數(shù)越少; 但尺寸太大內(nèi)存利用率就會下降。但尺寸太大內(nèi)存利用率就會下降。2、 抖動抖動 在虛存中在虛存中, 頁面在內(nèi)存與外存之間頻繁調(diào)頁面在內(nèi)存與外存之間頻繁調(diào)度度, 以至于調(diào)度頁面所需時間比進(jìn)程實際運行以至于調(diào)度頁面所需時間比進(jìn)程實際運行的時間還多的時間還多, 此時系統(tǒng)效率急劇下降此時系統(tǒng)效率急劇下降, 甚至導(dǎo)甚至導(dǎo)致系統(tǒng)崩潰致系統(tǒng)崩潰, 這種現(xiàn)象為抖動。這種現(xiàn)象為抖動。產(chǎn)生原因:產(chǎn)生原因:頁面淘汰算法不合

27、理頁面淘汰算法不合理分配給進(jìn)程的工作集窗口尺寸太小分配給進(jìn)程的工作集窗口尺寸太小出現(xiàn)出現(xiàn): CPU利用率下降利用率下降調(diào)入新的進(jìn)程調(diào)入新的進(jìn)程 從其它進(jìn)程獲得物理塊從其它進(jìn)程獲得物理塊缺頁中斷次數(shù)增缺頁中斷次數(shù)增加加CPU利用率進(jìn)一步下降的惡性循環(huán)利用率進(jìn)一步下降的惡性循環(huán)2、 抖動的預(yù)防抖動的預(yù)防1) 采取局部置換策略采取局部置換策略, 不允許從其它進(jìn)程獲不允許從其它進(jìn)程獲得物理塊得物理塊, 不會使抖動擴(kuò)大到其它進(jìn)程。不會使抖動擴(kuò)大到其它進(jìn)程。2) 在在CPU調(diào)度中引入工作集算法調(diào)度中引入工作集算法 在調(diào)度程序從外存調(diào)入新作業(yè)時在調(diào)度程序從外存調(diào)入新作業(yè)時, 必須檢必須檢查內(nèi)存中每個進(jìn)程的工

28、作集窗口是否足夠大查內(nèi)存中每個進(jìn)程的工作集窗口是否足夠大, 是才能調(diào)入是才能調(diào)入; 不至于因新作業(yè)調(diào)入擴(kuò)大抖動不至于因新作業(yè)調(diào)入擴(kuò)大抖動3) 調(diào)整多道度調(diào)整多道度, 使產(chǎn)生缺頁的平均時間使產(chǎn)生缺頁的平均時間(L)等等于系統(tǒng)處理進(jìn)程缺頁的平均時間于系統(tǒng)處理進(jìn)程缺頁的平均時間(S)。課后題 P142 16、17、18、194.8 請求分段存儲管理方式請求分段存儲管理方式 4.8.1 硬件支持及工作過程硬件支持及工作過程1、段表內(nèi)容、段表內(nèi)容 增加:存在位增加:存在位(在在/不在內(nèi)存不在內(nèi)存, 是否可共享是否可共享), 存取權(quán)限存取權(quán)限位位(只執(zhí)行只執(zhí)行,只讀只讀, 可讀寫可讀寫),訪問位訪問位(

29、(被訪問的情況被訪問的情況),),修修改位改位(是否修改過是否修改過, 能否移動能否移動), 增補位增補位(是否做過動態(tài)是否做過動態(tài)增長增長), 外存始址。外存始址。2、越界中斷處理、越界中斷處理 進(jìn)程在執(zhí)行過程中進(jìn)程在執(zhí)行過程中, 有時需要擴(kuò)大分段有時需要擴(kuò)大分段, 如數(shù)據(jù)如數(shù)據(jù)段段; 由于要訪問的地址超出原有的段長由于要訪問的地址超出原有的段長, 發(fā)出越界中發(fā)出越界中斷斷; 操作系統(tǒng)處理中斷時操作系統(tǒng)處理中斷時, 首先判斷該段的首先判斷該段的擴(kuò)充位擴(kuò)充位,如可擴(kuò)充如可擴(kuò)充, 則增加段的長度則增加段的長度; 否則按出錯處理。否則按出錯處理。缺段中斷處理過程缺段中斷處理過程從外存讀入段從外存讀

30、入段S修改段表及空閑鏈修改段表及空閑鏈喚醒請求進(jìn)程喚醒請求進(jìn)程進(jìn)行緊湊進(jìn)行緊湊形成合適空區(qū)形成合適空區(qū) 阻塞請求進(jìn)程阻塞請求進(jìn)程 空閑和能滿足空閑和能滿足?有合適空閑區(qū)有合適空閑區(qū)?返回返回虛段虛段S不在內(nèi)存不在內(nèi)存淘汰實段淘汰實段形成合適空區(qū)形成合適空區(qū)NYNY3、缺段中斷處理、缺段中斷處理 檢查內(nèi)存中是否有足夠的空閑空間檢查內(nèi)存中是否有足夠的空閑空間 若有若有, 則裝入該段則裝入該段, 修改有關(guān)數(shù)據(jù)結(jié)構(gòu)修改有關(guān)數(shù)據(jù)結(jié)構(gòu), 中斷返回中斷返回 若沒有若沒有, 檢查內(nèi)存中空閑區(qū)的總和是否滿足要求檢查內(nèi)存中空閑區(qū)的總和是否滿足要求,是則應(yīng)采用緊縮技術(shù)是則應(yīng)采用緊縮技術(shù), 轉(zhuǎn)轉(zhuǎn)a; 否則否則, 淘汰

31、一些段淘汰一些段, 轉(zhuǎn)轉(zhuǎn)4、地址變換、地址變換 請求分段系統(tǒng)的地址變換機構(gòu)請求分段系統(tǒng)的地址變換機構(gòu), 是在分段系統(tǒng)的是在分段系統(tǒng)的地址變換機構(gòu)基礎(chǔ)上地址變換機構(gòu)基礎(chǔ)上, 增加缺段中斷的請求和處理等增加缺段中斷的請求和處理等功能功能,當(dāng)發(fā)現(xiàn)要訪問的段不再內(nèi)存時當(dāng)發(fā)現(xiàn)要訪問的段不再內(nèi)存時, 必須將該段調(diào)入必須將該段調(diào)入內(nèi)存并修改段表內(nèi)存并修改段表, 然后才能用段表進(jìn)行地址變換。然后才能用段表進(jìn)行地址變換。 分段存儲管理方式便于實現(xiàn)分段的共享分段存儲管理方式便于實現(xiàn)分段的共享與保護(hù)與保護(hù), 只需在每個進(jìn)程的段表中用相應(yīng)的只需在每個進(jìn)程的段表中用相應(yīng)的表項指向共享段在內(nèi)存的起始地址。為了管表項指向共

32、享段在內(nèi)存的起始地址。為了管理好共享段理好共享段, 系統(tǒng)配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為系統(tǒng)配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)作為共享段表。共享段表。 共享段表共享段表 共享段的分配和回收共享段的分配和回收 分段保護(hù)分段保護(hù)4.8.2 分段的共享與保護(hù)分段的共享與保護(hù)1. 共享段表共享段表 系統(tǒng)為所有共享段配置一張共享段表系統(tǒng)為所有共享段配置一張共享段表, 每個共享每個共享段在該表中占一個表項段在該表中占一個表項, 其中記錄了段號、段長、內(nèi)其中記錄了段號、段長、內(nèi)存始址、存在位等信息存始址、存在位等信息, 同時還記錄了共享進(jìn)程計數(shù)同時還記錄了共享進(jìn)程計數(shù)和共享此分段的每個進(jìn)程的情況。和共享此分段的每個進(jìn)程的情況。段號段

33、號 段長段長 內(nèi)存始址內(nèi)存始址 存在位存在位 外存始址外存始址共享進(jìn)程計數(shù)共享進(jìn)程計數(shù)count狀態(tài)狀態(tài) 進(jìn)程名進(jìn)程名 進(jìn)程號進(jìn)程號 段號段號 存取控制存取控制共享段表共享段表共享段表項共享段表項2. 共享段的分配和回收共享段的分配和回收共享段的分配共享段的分配 對第一個請求使用該共享段的進(jìn)程對第一個請求使用該共享段的進(jìn)程, 系統(tǒng)為該共享系統(tǒng)為該共享段分配一物理區(qū)并把共享段調(diào)入該區(qū)段分配一物理區(qū)并把共享段調(diào)入該區(qū), 同時把該區(qū)的始同時把該區(qū)的始址填入該進(jìn)程的段表中址填入該進(jìn)程的段表中, 還需在共享段表中增加一表項還需在共享段表中增加一表項, 填寫有關(guān)信息填寫有關(guān)信息, 把把count置為置為1

34、。 當(dāng)又有其它進(jìn)程要訪問該共享段時當(dāng)又有其它進(jìn)程要訪問該共享段時, 只需在訪問進(jìn)只需在訪問進(jìn)程的段表中增加一表項程的段表中增加一表項, 填入該共享段的物理地址填入該共享段的物理地址; 并并在共享段表的對應(yīng)表項中在共享段表的對應(yīng)表項中, 填寫調(diào)用進(jìn)程名和存取控制填寫調(diào)用進(jìn)程名和存取控制等等, 再執(zhí)行再執(zhí)行count:= count+1 操作。操作。共享段的回收共享段的回收 取消該進(jìn)程的段表中共享段所對應(yīng)的表項取消該進(jìn)程的段表中共享段所對應(yīng)的表項,并執(zhí)行并執(zhí)行count:= count-1, 結(jié)果為結(jié)果為0則回收共享段的內(nèi)存并取消該則回收共享段的內(nèi)存并取消該進(jìn)程在共享段表中對應(yīng)的表項進(jìn)程在共享段表

35、中對應(yīng)的表項; 否則僅取消該進(jìn)程在共否則僅取消該進(jìn)程在共享段表中對應(yīng)的紀(jì)錄。享段表中對應(yīng)的紀(jì)錄。3. 分級保護(hù)分級保護(hù) 各分段在邏輯上是獨立的各分段在邏輯上是獨立的, 容易實現(xiàn)信息保護(hù)容易實現(xiàn)信息保護(hù)越界檢查越界檢查 在分段系統(tǒng)的地址變換機構(gòu)中在分段系統(tǒng)的地址變換機構(gòu)中, 段表寄存器和段表段表寄存器和段表項都有段長度信息項都有段長度信息, 越界時會發(fā)出越界中斷。越界時會發(fā)出越界中斷。存取控制檢查存取控制檢查 段表項中設(shè)置了段表項中設(shè)置了存取控制存取控制字段字段, 其訪問方式有:其訪問方式有: 只讀、只執(zhí)行、允許讀寫只讀、只執(zhí)行、允許讀寫環(huán)保護(hù)機構(gòu)環(huán)保護(hù)機構(gòu) 它是一種優(yōu)先權(quán)保護(hù)機制它是一種優(yōu)先權(quán)

36、保護(hù)機制, 規(guī)定低編號的環(huán)具有高規(guī)定低編號的環(huán)具有高優(yōu)先權(quán)優(yōu)先權(quán), OS核心處于核心處于0環(huán)內(nèi)環(huán)內(nèi), OS服務(wù)在中間環(huán)服務(wù)在中間環(huán), 一般的應(yīng)一般的應(yīng)用程序安排在外環(huán)上。調(diào)用和訪問遵循:用程序安排在外環(huán)上。調(diào)用和訪問遵循:程序可訪問駐留在相同環(huán)或較低優(yōu)先權(quán)環(huán)中的數(shù)據(jù)程序可訪問駐留在相同環(huán)或較低優(yōu)先權(quán)環(huán)中的數(shù)據(jù)程序可調(diào)用駐留在相同環(huán)或較高優(yōu)先權(quán)環(huán)中的服務(wù)程序可調(diào)用駐留在相同環(huán)或較高優(yōu)先權(quán)環(huán)中的服務(wù) 為了程序能正確執(zhí)行為了程序能正確執(zhí)行, 程序的各段必須由連接裝程序的各段必須由連接裝配程序把它們鏈接成一個可運行的目標(biāo)程序配程序把它們鏈接成一個可運行的目標(biāo)程序, 有兩種有兩種方法:方法:靜態(tài)鏈接靜態(tài)

37、鏈接: 在程序運行前都鏈接好并裝入內(nèi)存。在程序運行前都鏈接好并裝入內(nèi)存。 問題:花費時間,浪費空間問題:花費時間,浪費空間動態(tài)鏈接動態(tài)鏈接: 程序邊鏈接邊運行程序邊鏈接邊運行 優(yōu)點:節(jié)省時間和空間優(yōu)點:節(jié)省時間和空間, 可在較小的內(nèi)存上運行可在較小的內(nèi)存上運行較大的程序較大的程序, 用不到的段不用鏈接頁不用調(diào)入內(nèi)存。用不到的段不用鏈接頁不用調(diào)入內(nèi)存。尤其是對于大型程序優(yōu)點更突出。尤其是對于大型程序優(yōu)點更突出。4.8.3 段的動態(tài)鏈接段的動態(tài)鏈接1. 段的動態(tài)鏈接段的動態(tài)鏈接 由于一些熟知的事實:由于一些熟知的事實:大型程序一般分為多個程序段和多個數(shù)據(jù)段大型程序一般分為多個程序段和多個數(shù)據(jù)段進(jìn)程

38、的某些程序段在進(jìn)程運行期間可能根本不用進(jìn)程的某些程序段在進(jìn)程運行期間可能根本不用互斥執(zhí)行的程序段沒有必要同時駐留內(nèi)存互斥執(zhí)行的程序段沒有必要同時駐留內(nèi)存有些程序段執(zhí)行一次后不再用到有些程序段執(zhí)行一次后不再用到 所以所以, 沒有必要在在程序運行前都鏈接好沒有必要在在程序運行前都鏈接好, 程序開程序開始運行時始運行時, 只將主程序段裝配好并調(diào)入內(nèi)存只將主程序段裝配好并調(diào)入內(nèi)存, 其它各其它各段的裝配是在運行過程中逐步完成的。每當(dāng)需要調(diào)段的裝配是在運行過程中逐步完成的。每當(dāng)需要調(diào)用一個新段時用一個新段時, 再將這個新段裝配好再將這個新段裝配好, 并與主程序段并與主程序段鏈接。這就是動態(tài)鏈接。顯然鏈接

39、。這就是動態(tài)鏈接。顯然,頁式存儲管理是難以頁式存儲管理是難以完成動態(tài)鏈接的完成動態(tài)鏈接的; 應(yīng)采用段式存儲管理。應(yīng)采用段式存儲管理。2. 動態(tài)鏈接的實現(xiàn)動態(tài)鏈接的實現(xiàn) 在間接尋址中設(shè)置鏈接間接字和鏈接中斷在間接尋址中設(shè)置鏈接間接字和鏈接中斷 處理機在執(zhí)行間接指令時處理機在執(zhí)行間接指令時, 其硬件能自動對其硬件能自動對鏈接字中鏈接標(biāo)志位進(jìn)行判斷。標(biāo)志位鏈接字中鏈接標(biāo)志位進(jìn)行判斷。標(biāo)志位=1 時,時,硬件自動發(fā)鏈接中斷硬件自動發(fā)鏈接中斷, 并停止執(zhí)行該間接指令,并停止執(zhí)行該間接指令,轉(zhuǎn)去執(zhí)行鏈接中斷處理程序。處理完后再重新轉(zhuǎn)去執(zhí)行鏈接中斷處理程序。處理完后再重新執(zhí)行該間接指令。執(zhí)行該間接指令。3.

40、鏈接中斷處理鏈接中斷處理 根據(jù)鏈接間接字找出要訪問段的符號名和段內(nèi)地址根據(jù)鏈接間接字找出要訪問段的符號名和段內(nèi)地址 分配段號分配段號, 檢查該段是否在內(nèi)存檢查該段是否在內(nèi)存, 若不在若不在, 則從外存則從外存 調(diào)入調(diào)入, 并登記段表并登記段表, 修改內(nèi)存分配表修改內(nèi)存分配表 修改間接字修改間接字: 修改連接標(biāo)志位為修改連接標(biāo)志位為0, 修改直接地址修改直接地址 重新啟動被中斷的指令執(zhí)行重新啟動被中斷的指令執(zhí)行4.10 CPU高速緩沖高速緩沖在計算機中,為了減少在計算機中,為了減少CPU的等待時間,的等待時間,必須提高系統(tǒng)主存儲器的響應(yīng)速度必須提高系統(tǒng)主存儲器的響應(yīng)速度為此使用了高速緩存為此使用

41、了高速緩存cache,用來存儲,用來存儲CPU常用的代碼和數(shù)據(jù)信息常用的代碼和數(shù)據(jù)信息1. 工作原理工作原理(1) 基于程序訪問的局部性基于程序訪問的局部性 分析表明分析表明, 在較短的時間間隔內(nèi)在較短的時間間隔內(nèi), 由程序產(chǎn)生的地址由程序產(chǎn)生的地址往往集中在存儲器邏輯地址空間的很小范圍內(nèi)。往往集中在存儲器邏輯地址空間的很小范圍內(nèi)。 對數(shù)組的存儲和訪問以及工作區(qū)的選擇都使存儲器對數(shù)組的存儲和訪問以及工作區(qū)的選擇都使存儲器地址相對集中。地址相對集中。 對局部范圍的存儲器頻繁訪問對局部范圍的存儲器頻繁訪問, 而對此范圍以外的而對此范圍以外的地址則訪問甚少的現(xiàn)象地址則訪問甚少的現(xiàn)象, 就稱為程序訪問

42、的局部性。就稱為程序訪問的局部性。(2) 高速緩沖存儲器高速緩沖存儲器: 根據(jù)程序的局部性原理根據(jù)程序的局部性原理,在主存和在主存和CPU 通用寄存器之間設(shè)置一個高速的容量相對較小的通用寄存器之間設(shè)置一個高速的容量相對較小的高速存儲器高速存儲器,把正在執(zhí)行的指令地址附近的一部分指令把正在執(zhí)行的指令地址附近的一部分指令或數(shù)據(jù)從主存調(diào)入這個存儲器或數(shù)據(jù)從主存調(diào)入這個存儲器,供供CPU在一段時間內(nèi)使在一段時間內(nèi)使用。這對提高運行速度有很大的作用。用。這對提高運行速度有很大的作用。(3)命中率命中率: CPU在任一時刻從高速緩沖中直接可靠獲在任一時刻從高速緩沖中直接可靠獲取數(shù)據(jù)的幾率。取數(shù)據(jù)的幾率。

43、命中率越高命中率越高,直接獲取數(shù)據(jù)的可靠性就越大。直接獲取數(shù)據(jù)的可靠性就越大。 高速緩沖空間與主存空間在一定范圍內(nèi)保持適當(dāng)比高速緩沖空間與主存空間在一定范圍內(nèi)保持適當(dāng)比例的映射關(guān)系例的映射關(guān)系, 可以使高速緩沖的命中率相當(dāng)高。可以使高速緩沖的命中率相當(dāng)高。 一般情況一般情況, 高速緩沖與內(nèi)存的空間比為高速緩沖與內(nèi)存的空間比為4:1000 即即128kB 高速緩沖可映射高速緩沖可映射32MB內(nèi)存內(nèi)存 256kB 高速緩沖可映射高速緩沖可映射64MB內(nèi)存內(nèi)存 在這種情況下,命中率都在在這種情況下,命中率都在90以上以上2.高速緩沖的分級高速緩沖的分級 典型的一級(典型的一級(L1)緩存系統(tǒng)的)緩存

44、系統(tǒng)的80的內(nèi)存申請都的內(nèi)存申請都發(fā)生在發(fā)生在CPU內(nèi)部。內(nèi)部。 只有只有20的內(nèi)存申請是與外部內(nèi)存打交道。的內(nèi)存申請是與外部內(nèi)存打交道。 而這而這20的外部內(nèi)存申請中的的外部內(nèi)存申請中的80又與二級(又與二級(L2)緩存打交道。緩存打交道。 因此,只有因此,只有4的內(nèi)存申請定向到主存中。的內(nèi)存申請定向到主存中。3.CPU高速緩沖的重要性高速緩沖的重要性 PC系統(tǒng)的發(fā)展趨勢之一系統(tǒng)的發(fā)展趨勢之一: CPU主頻越做越高主頻越做越高, 系統(tǒng)系統(tǒng)架構(gòu)越做越先進(jìn)架構(gòu)越做越先進(jìn), 而主存的結(jié)構(gòu)和存取時間改進(jìn)較慢。而主存的結(jié)構(gòu)和存取時間改進(jìn)較慢。因此在因此在PC系統(tǒng)中高速緩存越做越大。高速緩存已是評系統(tǒng)中

45、高速緩存越做越大。高速緩存已是評價和選購價和選購PC系統(tǒng)的一個重要指標(biāo)。系統(tǒng)的一個重要指標(biāo)。 新一代的微處理器新一代的微處理器, 已實現(xiàn)設(shè)計了已實現(xiàn)設(shè)計了L1高速緩存高速緩存, L2 高速緩存和在主板上的高速緩存和在主板上的L3高速緩存。高速緩存。 比如比如:在在Intel Pentium III中中, L1高速緩存為高速緩存為 32 KB, L2可從可從512 KB到到1 MB。而。而AMD K6-III的的L1為為64KB,L2可達(dá)可達(dá)256KB, 外部外部L3 高速緩存可達(dá)高速緩存可達(dá)1 MB。1. 存儲管理目的存儲管理目的 充分利用內(nèi)存、方便用戶使用、程序可比內(nèi)存空間大、充分利用內(nèi)存、

46、方便用戶使用、程序可比內(nèi)存空間大、 執(zhí)行時可動態(tài)伸縮、存儲保護(hù)與安全、共享與通信、執(zhí)行時可動態(tài)伸縮、存儲保護(hù)與安全、共享與通信、 了解有關(guān)資源的使用狀況、實現(xiàn)性能高時空開銷小。了解有關(guān)資源的使用狀況、實現(xiàn)性能高時空開銷小。2. 存儲管理的內(nèi)容存儲管理的內(nèi)容 內(nèi)存內(nèi)存空間的空間的管理、分配與回收、管理、分配與回收、 存儲共享、存儲保護(hù)與安全、內(nèi)存存儲共享、存儲保護(hù)與安全、內(nèi)存“擴(kuò)充擴(kuò)充”3. 地址映射地址映射(地址重定位地址重定位, 地址變換地址變換) 邏輯地址邏輯地址(相對相對,虛地址虛地址)物理地址物理地址(絕對絕對,實地址實地址) 由硬件實現(xiàn)由硬件實現(xiàn), 分靜態(tài)重定位、動態(tài)重定位分靜態(tài)重定

47、位、動態(tài)重定位4. 分區(qū)存儲管理分區(qū)存儲管理固定分區(qū)、固定分區(qū)、 可變分區(qū)可變分區(qū)(可變分區(qū)分區(qū)表、空閑分區(qū)鏈可變分區(qū)分區(qū)表、空閑分區(qū)鏈) 5. 分區(qū)分配算法分區(qū)分配算法首先適配算法、最佳適配算法、最壞適配算法首先適配算法、最佳適配算法、最壞適配算法6.可重定位分區(qū)分配可重定位分區(qū)分配 緊湊技術(shù)解決碎片問題緊湊技術(shù)解決碎片問題,重定位寄存器實現(xiàn)動態(tài)重定位重定位寄存器實現(xiàn)動態(tài)重定位7. 對換技術(shù)對換技術(shù) 在多道環(huán)境下擴(kuò)充內(nèi)存的方法在多道環(huán)境下擴(kuò)充內(nèi)存的方法, 小內(nèi)存運行大程序。小內(nèi)存運行大程序。 對換的單位:進(jìn)程對換、分段對換、頁面對換。對換的單位:進(jìn)程對換、分段對換、頁面對換。8.頁式存儲管理頁式存儲管理(系統(tǒng)需要系統(tǒng)需要, 解決碎片解決碎片) 離散分配方式、頁面大小的選擇離散分配方式、頁面大小的選擇 建建進(jìn)程進(jìn)程頁表、空塊管理頁表、空塊管理總頁表、總頁表、內(nèi)存的分配與回收內(nèi)存的分配與回收 地址變換機構(gòu)地址變換機構(gòu): 頁表寄存器、頁表、頁表寄存器、頁表、快表快表(聯(lián)想寄存器聯(lián)想寄存器)9. 兩級和多級頁表反置頁表兩級和多級頁表反置頁表10. 段式存儲管理段式存儲管理用戶需要用戶需要: 信息共享信息共享,信息保護(hù)信息保護(hù),動態(tài)增長動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論