操作系統(tǒng)課件第4章_第1頁
操作系統(tǒng)課件第4章_第2頁
操作系統(tǒng)課件第4章_第3頁
操作系統(tǒng)課件第4章_第4頁
操作系統(tǒng)課件第4章_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第四章存儲器管理4.1 存存 儲儲 器器 的的 層層 次次 結結 構構多級存儲器結構多級存儲器結構存儲層次:存儲層次:CPU寄存器寄存器,主存主存,輔存輔存。高檔計算機中:寄存器、高速緩存、主存儲器、磁盤緩存、固定高檔計算機中:寄存器、高速緩存、主存儲器、磁盤緩存、固定磁盤、可移動存儲介質。磁盤、可移動存儲介質。計算機系統(tǒng)存儲層次示意計算機系統(tǒng)存儲層次示意 在存儲層次中越往上,存儲在存儲層次中越往上,存儲介質的訪問速度越快,價格也介質的訪問速度越快,價格也越高,相對存儲容量也越小。越高,相對存儲容量也越小。CPU寄存器寄存器主存主存輔存輔存n3主存儲器主存儲器主存儲器主存儲器( (內存內存)

2、)保存進程運行時的程序和數(shù)據(jù)。保存進程運行時的程序和數(shù)據(jù)。 寄存器訪問速度最快寄存器訪問速度最快,協(xié)調協(xié)調CPU工作,價格昂貴,容量很小。工作,價格昂貴,容量很小。n1. 寄存器寄存器n2 2高速緩存高速緩存容量大于寄存器容量大于寄存器,小于主存。小于主存。 訪問速度比主存快。將經常訪訪問速度比主存快。將經常訪問的信息存放在高速緩存中。問的信息存放在高速緩存中。n4磁盤緩存磁盤緩存利用主存中的存儲空間,暫時存放從磁盤中讀出利用主存中的存儲空間,暫時存放從磁盤中讀出(或寫入或寫入)的的信息。信息。臺式臺式PCPC機內存插槽和內存條機內存插槽和內存條4.2 程程 序序 的的 裝裝 入入 和和 鏈鏈

3、 接接 編譯,源代碼編譯,源代碼目標模塊。目標模塊。 鏈接,目標模塊,庫函數(shù)鏈接,目標模塊,庫函數(shù)裝入模塊。裝入模塊。 裝入,裝入模塊裝入,裝入模塊內存。內存。第一步第一步編譯程序編譯程序產生的目產生的目標模塊標模塊庫庫內存內存鏈接鏈接程序程序裝入裝入程序程序裝入模塊裝入模塊 第二步第二步第三步第三步 程序的裝入程序的裝入n1. 絕對裝入方式絕對裝入方式按照按照絕對地址絕對地址裝入。裝入。只適用于單道程序環(huán)境。只適用于單道程序環(huán)境。n2可重定位裝入方式可重定位裝入方式首址可以首址可以平移。平移。裝入時地裝入時地址修改。址修改。整體搬移整體搬移連續(xù)存放連續(xù)存放。n3動態(tài)運行時裝入方式動態(tài)運行時裝

4、入方式裝入內存后的所有地址都是相對地址。地址修改推遲到程序執(zhí)裝入內存后的所有地址都是相對地址。地址修改推遲到程序執(zhí)行時進行行時進行 ,動態(tài)重定位。,動態(tài)重定位。裝入裝入時地時地址不址不變,變,運行運行時地時地址修址修改。改。LOAD 1,2500365LOAD 1,2500365100001100012500150005000250010000作 業(yè) 地 址 空 間內 存 空 間程序的鏈接程序的鏈接 1. 靜態(tài)鏈接方式(在外存形成裝入模塊)靜態(tài)鏈接方式(在外存形成裝入模塊)模塊 ACALL B;Return;0L 1模塊 BCALL C;Return;0M 1模塊 CReturn;0N 10模

5、塊 AJSR“L”Return;L 1模塊 BJSR“L M”Return;LL M 1L ML M N 1模塊 CReturn;(a) 目標模塊(b) 裝入模塊2. 裝入時動態(tài)鏈接(進內存后形成裝入模塊)裝入時動態(tài)鏈接(進內存后形成裝入模塊)裝入時動態(tài)鏈接方式有以下優(yōu)點:裝入時動態(tài)鏈接方式有以下優(yōu)點:便于修改和更新。便于修改和更新。 (1)(2) 便于實現(xiàn)對目標模塊的共享。便于實現(xiàn)對目標模塊的共享。 高檔操作高檔操作系統(tǒng)流行系統(tǒng)流行方式方式Windows Windows LinuxLinux等通等通用技術用技術OSOS下存有下存有大量的大量的DLLDLL動態(tài)連接動態(tài)連接庫文件。庫文件。3.

6、運行時動態(tài)鏈接運行時動態(tài)鏈接執(zhí)行過程中,當一個被調用模塊尚未裝入內存時,由執(zhí)行過程中,當一個被調用模塊尚未裝入內存時,由OSOS找找到該模塊并將之裝入內存,到該模塊并將之裝入內存, 把它鏈接到調用者模塊上。把它鏈接到調用者模塊上。當前不用的目標模塊,都不會進內存。加快程序的裝入過當前不用的目標模塊,都不會進內存。加快程序的裝入過程,節(jié)省大量的內存空間。程,節(jié)省大量的內存空間。 高檔操作系統(tǒng)流行方式高檔操作系統(tǒng)流行方式Windows Windows 、LinuxLinux、SolarsSolars、MachMach等等OSOS通用的技術(使用通用的技術(使用DLLDLL文件)文件)4.3 連連

7、續(xù)續(xù) 分分 配配 方方 式式單一連續(xù)分配單一連續(xù)分配只能用于單用戶、單任務操作系統(tǒng)中。內存分為系統(tǒng)區(qū)和用只能用于單用戶、單任務操作系統(tǒng)中。內存分為系統(tǒng)區(qū)和用戶區(qū)兩部分。戶區(qū)兩部分。OSUSERAREA操作系統(tǒng)默認存操作系統(tǒng)默認存放在內存低端放在內存低端作業(yè)操作系統(tǒng)未用32 KB64 KB160 KB分配給用戶作業(yè)的空間每次一個作業(yè),每次一個作業(yè),上一個完成退上一個完成退出,下一個才出,下一個才能進入能進入利用率極低利用率極低固定分區(qū)分配固定分區(qū)分配用戶空間劃分為若干個固定大小的區(qū)域,在每個分區(qū)中裝入一用戶空間劃分為若干個固定大小的區(qū)域,在每個分區(qū)中裝入一道作業(yè),允許幾道作業(yè)并發(fā)運行。道作業(yè),允

8、許幾道作業(yè)并發(fā)運行。 簡單、可靠,但產生分區(qū)簡單、可靠,但產生分區(qū)“內零頭內零頭”,內存利用效低。,內存利用效低。系統(tǒng)區(qū)系統(tǒng)區(qū)分區(qū)分區(qū) 1 1分區(qū)分區(qū) 4 4分區(qū)分區(qū) 5 5分區(qū)分區(qū) 2 2分區(qū)分區(qū) 3 3區(qū)號/鍵大小起址狀態(tài)18 KB512K已分配232 KB520K已分配332 KB552K未分配4128 KB584K未分配5512 KB712K已分配系統(tǒng)區(qū)系統(tǒng)區(qū)作業(yè)作業(yè) 3 3分區(qū)分區(qū) 4 4作業(yè)作業(yè) 2 2作業(yè)作業(yè) 1 1分區(qū)分區(qū) 3 3動態(tài)分區(qū)分配動態(tài)分區(qū)分配根據(jù)進程的實際需要,動態(tài)地為之分配內存空間。根據(jù)進程的實際需要,動態(tài)地為之分配內存空間。v 空閑分區(qū)表空閑分區(qū)表v 記錄每個空

9、閑分區(qū)的情況。記錄每個空閑分區(qū)的情況。 (2) 空閑分區(qū)鏈空閑分區(qū)鏈將所有的空閑分區(qū)鏈接成一個將所有的空閑分區(qū)鏈接成一個雙向鏈雙向鏈。前向指針0N個字節(jié)可用后向指針0N+2N+2當分區(qū)被分配出去以后,把狀態(tài)當分區(qū)被分配出去以后,把狀態(tài)位由位由“0”改為改為“1”,此時,前、,此時,前、后向指針已無意義。后向指針已無意義。OS區(qū)區(qū)Job1Job2Job3Job4Job5Job6OS區(qū)區(qū)Job1Job2Job3Job4Job5空閑分區(qū)鏈空閑分區(qū)鏈頭指針頭指針Job6分區(qū)分配算法分區(qū)分配算法1) 首次適應算法首次適應算法(first fit) 空閑分區(qū)鏈空閑分區(qū)鏈以地址遞增的次序以地址遞增的次序鏈接

10、。從鏈首開始順序查找,直鏈接。從鏈首開始順序查找,直至找到一個大小能滿足要求的空閑分區(qū)為止;然后再按照作業(yè)至找到一個大小能滿足要求的空閑分區(qū)為止;然后再按照作業(yè)的大小,從該分區(qū)中劃出一塊內存空間分配給作業(yè),余下的空的大小,從該分區(qū)中劃出一塊內存空間分配給作業(yè),余下的空閑分區(qū)仍留在空閑鏈中。閑分區(qū)仍留在空閑鏈中。 該算法的優(yōu)缺點:該算法的優(yōu)缺點:為大作業(yè)分配大的內存空間創(chuàng)造了條件。為大作業(yè)分配大的內存空間創(chuàng)造了條件。低址部分不斷被劃分,會留下許多難以利用的、很小的空閑低址部分不斷被劃分,會留下許多難以利用的、很小的空閑分區(qū)。分區(qū)。新作業(yè)裝入內存時,按照一定的分配算法,從空閑分區(qū)表或新作業(yè)裝入內存

11、時,按照一定的分配算法,從空閑分區(qū)表或空閑分區(qū)鏈中選出一分區(qū)分配給該作業(yè)。常用的分配算法:空閑分區(qū)鏈中選出一分區(qū)分配給該作業(yè)。常用的分配算法: 2) 循環(huán)首次適應算法循環(huán)首次適應算法(next fit) 將所有的將所有的空閑分區(qū)構成一個循環(huán)鏈表空閑分區(qū)構成一個循環(huán)鏈表。采用循環(huán)查找。采用循環(huán)查找方式,設置一個起始查尋指針,用于指示下一次起始查方式,設置一個起始查尋指針,用于指示下一次起始查尋的空閑分區(qū)。尋的空閑分區(qū)。該算法的優(yōu)缺點:該算法的優(yōu)缺點:能使內存中的空閑分區(qū)分布得更均能使內存中的空閑分區(qū)分布得更均勻,從而減少了查找空閑分區(qū)時的開銷,但這樣會缺乏勻,從而減少了查找空閑分區(qū)時的開銷,但這

12、樣會缺乏大的空閑分區(qū)。大的空閑分區(qū)。為進程分配內存時,不再是每次都從鏈首開始查找,而是從為進程分配內存時,不再是每次都從鏈首開始查找,而是從上次找到空閑分區(qū)的下一個空閑分區(qū)開始查找,直到找到上次找到空閑分區(qū)的下一個空閑分區(qū)開始查找,直到找到一個能滿足要求的空閑分區(qū)。一個能滿足要求的空閑分區(qū)。3) 最佳適應算法最佳適應算法( (best fit) )將所有的空閑分區(qū)將所有的空閑分區(qū)按容量以從小到大的順序形成空閑分區(qū)鏈按容量以從小到大的順序形成空閑分區(qū)鏈。該算法的優(yōu)缺點:該算法的優(yōu)缺點:為大作業(yè)分配大的內存空間創(chuàng)造了條為大作業(yè)分配大的內存空間創(chuàng)造了條件。每次分配后所切割下來的剩余部分總是最小的,這

13、樣,件。每次分配后所切割下來的剩余部分總是最小的,這樣,在存儲器中會留下許多難以利用的小空閑區(qū)。在存儲器中會留下許多難以利用的小空閑區(qū)。把能滿足要求、又是最小的空閑分區(qū)分配給作業(yè)。把能滿足要求、又是最小的空閑分區(qū)分配給作業(yè)。 4) 最壞適應算法最壞適應算法( (worst fit) ) 該算法要掃描整個空閑分區(qū)表或鏈表,總是挑選一個該算法要掃描整個空閑分區(qū)表或鏈表,總是挑選一個最最大的空閑區(qū)大的空閑區(qū)分割給作業(yè)使用,其優(yōu)點是可使剩下的空閑區(qū)不分割給作業(yè)使用,其優(yōu)點是可使剩下的空閑區(qū)不至于太小,產生碎片的幾率最小,但查找效率很高。至于太小,產生碎片的幾率最小,但查找效率很高。所有的空閑分區(qū)按容量

14、從大到小的順序形成空閑分區(qū)鏈,查所有的空閑分區(qū)按容量從大到小的順序形成空閑分區(qū)鏈,查找時只要看第一個分區(qū)能否滿足作業(yè)要求。該算法的找時只要看第一個分區(qū)能否滿足作業(yè)要求。該算法的缺點缺點是是它會使存儲器中缺乏大的空閑分區(qū)。它會使存儲器中缺乏大的空閑分區(qū)。 最壞適應算法與首次適應算法、循環(huán)首次適應算法、最最壞適應算法與首次適應算法、循環(huán)首次適應算法、最佳適應算法一起,也稱為佳適應算法一起,也稱為順序搜索法順序搜索法。 5) 快速適應算法快速適應算法( (quick fit) ) 該算法又稱為分類搜索法,是將空閑分區(qū)根據(jù)其容量大該算法又稱為分類搜索法,是將空閑分區(qū)根據(jù)其容量大小進行分類,對于每一類具

15、有相同容量的所有空閑分區(qū),小進行分類,對于每一類具有相同容量的所有空閑分區(qū),單獨設立一個空閑分區(qū)鏈表,這樣,系統(tǒng)中存在多個單獨設立一個空閑分區(qū)鏈表,這樣,系統(tǒng)中存在多個空閑空閑分區(qū)鏈表分區(qū)鏈表,同時在內存中設立一張,同時在內存中設立一張管理索引表管理索引表。 該算法的該算法的優(yōu)點優(yōu)點是查找效率高,僅需要根據(jù)進程的長度,是查找效率高,僅需要根據(jù)進程的長度,找到能容納它的最小空閑區(qū)鏈表即可;另外不會對任何分找到能容納它的最小空閑區(qū)鏈表即可;另外不會對任何分區(qū)產生分割,滿足對大空間的需求,不會產生內存碎片。區(qū)產生分割,滿足對大空間的需求,不會產生內存碎片。 缺點缺點是在分區(qū)歸還主存時算法復雜,系統(tǒng)開

16、銷較大。是在分區(qū)歸還主存時算法復雜,系統(tǒng)開銷較大??芍囟ㄎ环謪^(qū)分配可重定位分區(qū)分配操作系統(tǒng)用戶程序1用戶程序310 KB30 KB用戶程序614 KB用戶程序926 KB操作系統(tǒng)用戶程序1用戶程序3用戶程序6用戶程序980 KB(a) 緊湊前(b) 緊湊后經過緊湊后,用戶程序在經過緊湊后,用戶程序在內存中的位置發(fā)生了變化,內存中的位置發(fā)生了變化,所以必須對移動了的程序所以必須對移動了的程序或數(shù)據(jù)進行重定位?;驍?shù)據(jù)進行重定位。緊湊技術緊湊技術,也稱為也稱為“拼湊拼湊”技術,解決可變分區(qū)中產生的技術,解決可變分區(qū)中產生的“外零頭外零頭”。移動某些已分。移動某些已分配分區(qū),使配分區(qū),使“外零頭外零頭

17、”合并為一個大的連續(xù)空閑區(qū)。合并為一個大的連續(xù)空閑區(qū)。以時間和技術換以時間和技術換內存空間。內存空間。作業(yè)7(256 KB)(a)(b)(c)作業(yè)6 (256 KB)作業(yè)5 (128 KB)作業(yè)4 (24 KB)作業(yè)1 (8 KB)OS作業(yè)7 (256 KB)作業(yè)6 (256 KB)作業(yè)5 (128 KB)作業(yè)4 (24 KB)作業(yè)1(8 KB)OS01024 KB504 KB352 KB320 KB312 KB888 KB652 KB376 KB作業(yè)6 (256 KB)作業(yè)5 (128 KB)作業(yè)4 (24 KB)作業(yè)1 (8 KB)OS可以裝入作業(yè)可以裝入作業(yè)7暫不能裝入暫不能裝入J7重定

18、位寄存器重定位寄存器,存放程序,存放程序(數(shù)據(jù)數(shù)據(jù))在內存中的起始地址。程序在執(zhí)在內存中的起始地址。程序在執(zhí)行時,真正訪問的內存地址是相對地址與重定位寄存器中的行時,真正訪問的內存地址是相對地址與重定位寄存器中的地址相加而形成的。地址相加而形成的。動態(tài)重定位的實現(xiàn)原理動態(tài)重定位的實現(xiàn)原理365365LOAD 1,2500LOAD 1,2500500050002500250010001000365365LOAD 1,2500LOAD 1,250015000150001250012500100001000011000110002500相對地址相對地址10000重定位重定位寄存器寄存器處理機一側處理

19、機一側 存儲器一側存儲器一側作業(yè)作業(yè)J內存內存重定位是一種運算尋址,需硬件支持重定位是一種運算尋址,需硬件支持4.4基基 本本 分分 頁頁 存存 儲儲 管管 理理 方方 式式 將一個將一個進程的邏輯地址空間進程的邏輯地址空間分成若干個大小相等的分成若干個大小相等的片,稱為片,稱為頁頁,并為各頁編號。,并為各頁編號。 把把內存空間內存空間分成與頁相同大小的若干個存儲塊,稱分成與頁相同大小的若干個存儲塊,稱為為塊塊,同樣予以編號。,同樣予以編號。 頁的大小通常為頁的大小通常為512 B8 KB。若干個頁分別裝入可以不相鄰接的物理塊中。最后一若干個頁分別裝入可以不相鄰接的物理塊中。最后一頁經常裝不滿

20、一塊形成頁經常裝不滿一塊形成“頁內碎片頁內碎片”。 頁式最先實現(xiàn)了作業(yè)空間的離散分配!頁式最先實現(xiàn)了作業(yè)空間的離散分配!地址結構地址結構 頁號頁號 P 位移量位移量 W3112 110前一部分為前一部分為頁號頁號P,后一部分為位移量,后一部分為位移量W(或稱為或稱為頁內地址頁內地址)。例:地址長度為例:地址長度為32位,位,011位為頁內地址,位為頁內地址,1231位為頁號。位為頁號。 若邏輯地址為若邏輯地址為A A,頁的大小為,頁的大小為L L,則頁號,則頁號P P和頁內地址和頁內地址d d可按下式求得:可按下式求得: APIN TLdA M O D L頁號:頁號:頁面地址:頁面地址:作業(yè)分

21、頁,內存分塊作業(yè)分頁,內存分塊頁塊等大,對應存放頁塊等大,對應存放建立頁表,查表訪問建立頁表,查表訪問頁表頁表頁表放在內存中,它的頁表放在內存中,它的作用作用是實現(xiàn)從頁號到物理塊號的地址映射。是實現(xiàn)從頁號到物理塊號的地址映射。 用戶程序0 頁1 頁2 頁3 頁4 頁5 頁n 頁頁表頁號塊號02132638495內存012345678910頁表的作用頁表的作用 分頁系統(tǒng)的地址變換機構分頁系統(tǒng)的地址變換機構地址變換機構地址變換機構頁表頁表物理地址物理地址頁表始址頁表始址頁表長度頁表長度頁表寄存器頁表寄存器5201832018邏輯地址邏輯地址越界中斷越界中斷+塊號塊號頁號頁號5332712054.5

22、基基 本本 分分 段段 存存 儲儲 管管 理理 方方 式式作業(yè)的地址空間劃分為若干個段,每個段都有自己的名字。通作業(yè)的地址空間劃分為若干個段,每個段都有自己的名字。通常用一個段號來代替段名,每個段都是從常用一個段號來代替段名,每個段都是從0開始編址的。開始編址的。地址結構地址結構 段號段號S 段內位移量段內位移量W31 16 15 0 段表段表分段地址變換由段表實現(xiàn),在作業(yè)被調入時,為其建立一張段表。分段地址變換由段表實現(xiàn),在作業(yè)被調入時,為其建立一張段表。作業(yè)空間(MAIN)=0030 K(X)=1020 K(D)=2015 K(S)=3010 K30 K20 K15 K10 K40 K80

23、 K段長 基址段號(MAIN)=030 K(X)=120 K(D)=215 K(S)=310 K040 K80 K120 K150 K段表內存空間0123120 K150 K利用段表實現(xiàn)利用段表實現(xiàn) 地址映射地址映射每個段在表中占有一每個段在表中占有一個表項,其中記錄了個表項,其中記錄了該段在內存中的起始該段在內存中的起始地址地址( (又稱為又稱為“基址基址”) )和段的長度和段的長度程序按段存放程序按段存放運行查段表進行運行查段表進行地址變換機構地址變換機構分段系統(tǒng)的地址變換過程分段系統(tǒng)的地址變換過程 n 段號段號S 段表長度段表長度TL- 訪問越界。否則,從段表訪問越界。否則,從段表項中讀

24、出該段在內存的起始地址。項中讀出該段在內存的起始地址。n 段內地址段內地址d 段長段長SL-越界中斷。否則,基址越界中斷。否則,基址 + 段內地址段內地址d = 內存物理地址。內存物理地址。段表始址段表始址段表長度段表長度2100段表寄存器段表寄存器邏輯地址邏輯地址越界中斷越界中斷段長段長 基址基址段表段表段號段號01238292物理地址物理地址段號段號S S位移量位移量W W92002008K5004K6006K1K0111101110100000頁號頁號位移量位移量011001200011010001010頁表頁表0111101110011000不變不變(a)分頁分頁頁號頁號 塊號塊號00

25、00111101001000段號段號段內地址段內地址段表段表0000100011000100(a)分段分段0001011101110000001000000000010111100111100010000000100000段號段號 段長段長 基址基址分頁和分段的主要區(qū)別分頁和分段的主要區(qū)別分分 頁頁分 段信息的物理單位信息的邏輯單位出于系統(tǒng)管理的需要出于用戶的需要大小固定由系統(tǒng)確定長度不固定由編譯確定作業(yè)地址空間一維作業(yè)地址空間二維頁內碎片外部碎片不易共享易共享頁表較長,查找費時段表較短,查找速度快段頁式存儲管理方式段頁式存儲管理方式 將分頁管理和分段管理的優(yōu)點集中起來。將分頁管理和分段管理的

26、優(yōu)點集中起來。 即即對作業(yè)的地址空間分段,段內再分頁對作業(yè)的地址空間分段,段內再分頁。該作業(yè)有三個段,頁面大小為該作業(yè)有三個段,頁面大小為4KB。 0 4k 8k12k15k16k一段一段頁頁1 1頁頁2 2頁頁3 3頁頁三段三段 0 4k 8k10k12k0 0頁頁1 1頁頁2 2頁頁二段二段 0 4k 8k0 0頁頁1 1頁頁段號 狀態(tài) 頁表大小 頁表始址0111213041頁號 狀態(tài)存儲塊#0111213041操作系統(tǒng)主存頁表段表段表大小 段表始址段表寄存器段頁式地址結構段頁式地址結構 由段號由段號S、段內頁號、段內頁號P和頁內地址和頁內地址W三部分組成。三部分組成。通常,分段由程序員完

27、成,分頁由系統(tǒng)自動完成。通常,分段由程序員完成,分頁由系統(tǒng)自動完成。利用段表和頁表實現(xiàn)地址映射利用段表和頁表實現(xiàn)地址映射 地址變換過程地址變換過程段表寄存器段表始址段表長度段號S頁號P段超長段表0123頁內地址頁表0123b塊號 b塊內地址頁表始址頁表長度 段表寄存器段表寄存器 段段 表表 始始 址址段表長度段表長度TL段號段號S段頁式系統(tǒng)中獲得一條數(shù)據(jù)或指令,需訪問內存幾次?段頁式系統(tǒng)中獲得一條數(shù)據(jù)或指令,需訪問內存幾次?三次三次4.6 虛虛 擬擬 存存 儲儲 器器 的的 基基 本本 概概 念念常規(guī)存儲器管理方式的特征常規(guī)存儲器管理方式的特征1. 一次性一次性2.駐留性駐留性資源實體性和有限

28、性資源實體性和有限性局部性原理局部性原理在一較短的時間內,程序的執(zhí)行僅局限于某個部分;相應地,在一較短的時間內,程序的執(zhí)行僅局限于某個部分;相應地,它訪問的存儲空間也局限于某個區(qū)域。它訪問的存儲空間也局限于某個區(qū)域。(1)時間局部性時間局部性: 一個數(shù)據(jù)結構被訪問,不久可能再次被訪問。一個數(shù)據(jù)結構被訪問,不久可能再次被訪問。 典型原因:典型原因: 程序中存在大量的循環(huán)操作。程序中存在大量的循環(huán)操作。(2)空間局部性空間局部性:一段時間訪問的地址可能集中在一定范圍一段時間訪問的地址可能集中在一定范圍 。典型原因:程序順序執(zhí)行典型原因:程序順序執(zhí)行局部性原理是虛擬內存得以實現(xiàn)的本質局部性原理是虛擬

29、內存得以實現(xiàn)的本質虛擬存儲器虛擬存儲器實現(xiàn)思想實現(xiàn)思想:當進程運行時,先將:當進程運行時,先將一部分程序一部分程序裝入內存,另一部裝入內存,另一部分分暫時留在外存暫時留在外存,當要執(zhí)行的指令不在內存時,由系統(tǒng)自動將,當要執(zhí)行的指令不在內存時,由系統(tǒng)自動將它們它們從外存調入內存從外存調入內存。虛擬存儲器定義:具有請求調入功能和置換功能,能從邏輯上虛擬存儲器定義:具有請求調入功能和置換功能,能從邏輯上對內存容量進行擴充的一種存儲器系統(tǒng)。它把內存與外存有對內存容量進行擴充的一種存儲器系統(tǒng)。它把內存與外存有機結合起來使用,構成容量很大的機結合起來使用,構成容量很大的“內存內存”。虛擬存儲器的特征虛擬存

30、儲器的特征1. 多次性多次性 2. 對換性對換性 3. 虛擬性虛擬性 4.7 請求分頁存儲管理方式請求分頁存儲管理方式 請求分頁中的硬件支持請求分頁中的硬件支持 頁表機制頁表機制 頁號頁號 物理塊號物理塊號 狀態(tài)位狀態(tài)位P 訪問字段訪問字段A 修改位修改位M外存地址外存地址 主要是缺頁中斷機構主要是缺頁中斷機構地址變換機構地址變換機構 缺頁中斷處理保留CPU現(xiàn)場從外存中找到缺頁內存滿否?選擇一頁換出該頁被修改否?將該頁寫回外存OS命令CPU從外存讀缺頁啟動I/O硬件將一頁從外存換入內存修改頁表否是是否頁表項在快表中?CPU檢索快表訪問頁表否頁在內存?修改訪問位和修改位形成物理地址地址變換結束否

31、頁號頁表長度?開始程序請求訪問一頁產生缺頁中斷請求調頁修改快表是越界中斷是是最小物理塊數(shù)的確定最小物理塊數(shù)的確定 能保證進程正常運行所需的最小物理塊數(shù)。能保證進程正常運行所需的最小物理塊數(shù)。頁面調入過程頁面調入過程當程序要訪問的頁面未在內存時,向當程序要訪問的頁面未在內存時,向CPU發(fā)出一缺頁中斷,中斷處理程序保發(fā)出一缺頁中斷,中斷處理程序保留留CPU環(huán)境,查找頁表,得到該頁在外存的物理塊。環(huán)境,查找頁表,得到該頁在外存的物理塊。如果此時內存能容納新頁,則啟動磁盤如果此時內存能容納新頁,則啟動磁盤I/O將所缺頁調入內存,然后修改頁將所缺頁調入內存,然后修改頁表。表。如果內存已滿,選一頁換出;再把所缺的頁調入內存,如果內存已滿,選一頁換出;再把所缺的頁調入內存, 并修改頁表。并修改頁表。4.8 頁面置換算法頁面置換算法

溫馨提示

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

評論

0/150

提交評論