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

下載本文檔

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

文檔簡介

1、Operating SystemOperating SystemPage 14/23/2022Operating SystemOperating Systemq重點(diǎn)重點(diǎn)v理解理解重定位的基本概念重定位的基本概念 v掌握掌握動態(tài)分區(qū)分配方式動態(tài)分區(qū)分配方式 v掌握理解掌握理解分頁和分段存儲管理方式分頁和分段存儲管理方式 v理解理解虛擬存儲器的基本概念虛擬存儲器的基本概念 v掌握掌握請求分頁系統(tǒng)的基本原理請求分頁系統(tǒng)的基本原理 q難點(diǎn)難點(diǎn)v動態(tài)分區(qū)分配動態(tài)分區(qū)分配算法算法 v分頁和分段地址轉(zhuǎn)換分頁和分段地址轉(zhuǎn)換v請求分頁系統(tǒng)的地址轉(zhuǎn)換及頁面置換算法請求分頁系統(tǒng)的地址轉(zhuǎn)換及頁面置換算法Page 24

2、/23/2022Operating SystemOperating Systemq知識點(diǎn)知識點(diǎn)v重定位的基本概念重定位的基本概念 v動態(tài)分區(qū)分配方式及分配算法、分區(qū)保護(hù)動態(tài)分區(qū)分配方式及分配算法、分區(qū)保護(hù)v分頁存儲管理及地址變換、分段存儲管理及地分頁存儲管理及地址變換、分段存儲管理及地址變換,信息共享和保護(hù)址變換,信息共享和保護(hù)v虛擬存儲器的基本概念、特征,頁面置換技術(shù)虛擬存儲器的基本概念、特征,頁面置換技術(shù) v請求分頁系統(tǒng),頁表機(jī)制、地址變換及頁面置請求分頁系統(tǒng),頁表機(jī)制、地址變換及頁面置換算法換算法 Page 34/23/2022Operating SystemOperating Syst

3、emq存儲器是計(jì)算機(jī)系統(tǒng)重要的組成部分存儲器是計(jì)算機(jī)系統(tǒng)重要的組成部分q雖然存儲器的容量不斷擴(kuò)大,但仍不能滿雖然存儲器的容量不斷擴(kuò)大,但仍不能滿足要求,因此存儲器管理是操作系統(tǒng)的重足要求,因此存儲器管理是操作系統(tǒng)的重要工作要工作Page 44/23/2022Operating SystemOperating Systemq存儲器包括內(nèi)存(主存)和外存(磁盤)存儲器包括內(nèi)存(主存)和外存(磁盤)v存儲器的功能是保存數(shù)據(jù),存儲器的發(fā)展方向存儲器的功能是保存數(shù)據(jù),存儲器的發(fā)展方向是高速、大容量和小體積。是高速、大容量和小體積。內(nèi)存在訪問速度方面的發(fā)展:內(nèi)存在訪問速度方面的發(fā)展:DRAM、SDRAM、

4、SRAM等;等;硬盤技術(shù)在大容量方面的發(fā)展:接口標(biāo)準(zhǔn)、硬盤技術(shù)在大容量方面的發(fā)展:接口標(biāo)準(zhǔn)、存儲密度等;存儲密度等;q主存儲器管理技術(shù)分為兩大類主存儲器管理技術(shù)分為兩大類v實(shí)存儲器管理實(shí)存儲器管理v虛擬存儲器管理虛擬存儲器管理Page 54/23/2022Operating SystemOperating Systemq存儲器的物理組織、多級存儲器存儲器的物理組織、多級存儲器v存儲組織是指在存儲技術(shù)和存儲組織是指在存儲技術(shù)和CPU尋址技術(shù)許可的尋址技術(shù)許可的范圍內(nèi)組織合理的存儲結(jié)構(gòu)。范圍內(nèi)組織合理的存儲結(jié)構(gòu)。其依據(jù)是訪問速度匹配關(guān)系、容量要求和價(jià)其依據(jù)是訪問速度匹配關(guān)系、容量要求和價(jià)格。格。“

5、寄存器寄存器-內(nèi)存內(nèi)存-外存外存”結(jié)構(gòu)結(jié)構(gòu)“寄存器寄存器-緩存緩存-內(nèi)存內(nèi)存-外存外存”結(jié)構(gòu);結(jié)構(gòu);v微機(jī)中的存儲層次組織:微機(jī)中的存儲層次組織:訪問速度越慢,容量越大,價(jià)格越便宜;訪問速度越慢,容量越大,價(jià)格越便宜;最佳狀態(tài)應(yīng)是各層次的存儲器都處于均衡的最佳狀態(tài)應(yīng)是各層次的存儲器都處于均衡的繁忙狀態(tài)(如:緩存命中率正好使主存讀寫繁忙狀態(tài)(如:緩存命中率正好使主存讀寫保持繁忙);保持繁忙);Page 64/23/2022Operating SystemOperating Systemq快速緩存:快速緩存:vData CachevTLB(Translation Lookaside Buffer)

6、q內(nèi)存:內(nèi)存:DRAM, SDRAM等;等;q外存:軟盤、硬盤、光盤、磁帶等;外存:軟盤、硬盤、光盤、磁帶等;外存(secondary storage)DOS核心命令處理程序內(nèi)存(primary storage)快速緩存(cache)寄存器(register)Page 74/23/2022Operating SystemOperating Systemq主存儲器管理功能主存儲器管理功能v存儲分配和回收存儲分配和回收分配和回收算法及相應(yīng)的數(shù)據(jù)結(jié)構(gòu)分配和回收算法及相應(yīng)的數(shù)據(jù)結(jié)構(gòu)v地址變換和重定位地址變換和重定位可執(zhí)行文件生成中的鏈接技術(shù)可執(zhí)行文件生成中的鏈接技術(shù)程序加載程序加載(裝入裝入)時(shí)的重定

7、位技術(shù)時(shí)的重定位技術(shù)進(jìn)程運(yùn)行時(shí)硬件和軟件的地址變換技術(shù)和機(jī)構(gòu)進(jìn)程運(yùn)行時(shí)硬件和軟件的地址變換技術(shù)和機(jī)構(gòu)v存儲共享和保護(hù)存儲共享和保護(hù)代碼和數(shù)據(jù)共享代碼和數(shù)據(jù)共享地址空間訪問權(quán)限(讀、寫、執(zhí)行)地址空間訪問權(quán)限(讀、寫、執(zhí)行)v存儲器擴(kuò)充:存儲器的邏輯組織和物理組織;存儲器擴(kuò)充:存儲器的邏輯組織和物理組織;由應(yīng)用程序控制:覆蓋;由應(yīng)用程序控制:覆蓋;由由OS控制:交換(整個(gè)進(jìn)程空間),虛擬存儲的請求調(diào)入和控制:交換(整個(gè)進(jìn)程空間),虛擬存儲的請求調(diào)入和預(yù)調(diào)入(部分進(jìn)程空間)預(yù)調(diào)入(部分進(jìn)程空間)Page 84/23/2022Operating SystemOperating Systemq程序的裝

8、入和鏈接程序的裝入和鏈接 q連續(xù)分配方式連續(xù)分配方式 q基本分頁存儲管理基本分頁存儲管理 q基本分段存儲管理基本分段存儲管理q虛擬存儲器的基本概念虛擬存儲器的基本概念q請求分頁存儲管理方式請求分頁存儲管理方式q頁面置換算法頁面置換算法q請求分段存儲管理方式請求分段存儲管理方式Page 94/23/2022Operating SystemOperating Systemq程序的裝入程序的裝入q程序的鏈接程序的鏈接Page 104/23/2022Operating SystemOperating Systemq多道程序環(huán)境下,程序要運(yùn)行必須為之創(chuàng)建進(jìn)程,多道程序環(huán)境下,程序要運(yùn)行必須為之創(chuàng)建進(jìn)程,

9、而創(chuàng)建進(jìn)程的第一件事就是分配內(nèi)存而創(chuàng)建進(jìn)程的第一件事就是分配內(nèi)存q源程序要運(yùn)行通常經(jīng)過源程序要運(yùn)行通常經(jīng)過編譯(編譯(compile)鏈接鏈接(link)裝入裝入(load)等幾個(gè)步驟等幾個(gè)步驟庫庫鏈接鏈接程序程序裝入模塊裝入模塊裝入裝入程序程序編譯程序產(chǎn)生編譯程序產(chǎn)生的目標(biāo)模塊的目標(biāo)模塊第一步第一步第二步第二步第三步第三步內(nèi)存內(nèi)存Page 114/23/2022Operating SystemOperating System4.1 程序的裝入和鏈接程序的裝入和鏈接 圖 4-1 對用戶程序的處理步驟 庫鏈接程序裝入模塊裝入程序編譯程序產(chǎn)生的目標(biāo)模塊第一步第二步第三步內(nèi)存Page 124/23/

10、2022Operating SystemOperating System4.1.1 程序的裝入程序的裝入1. 絕對裝入方式絕對裝入方式(Absolute Loading Mode) 2. 可重定位裝入方式可重定位裝入方式(Relocation Loading Mode) 3. 動態(tài)運(yùn)行時(shí)裝入方式動態(tài)運(yùn)行時(shí)裝入方式(Dynamic Run-time Loading) Page 134/23/2022Operating SystemOperating Systemq絕對裝入方式絕對裝入方式(Absolute Loading Mode) v事先事先確定確定了程序?qū)⒘顺绦驅(qū)Ⅰv留在內(nèi)存駐留在內(nèi)存的什么的

11、什么位置位置,即,即在內(nèi)存中的在內(nèi)存中的絕對地址絕對地址v裝入模塊被裝入內(nèi)存后,由于程序中的邏輯地裝入模塊被裝入內(nèi)存后,由于程序中的邏輯地址與實(shí)際內(nèi)存地址完全相同,故不需對程序和址與實(shí)際內(nèi)存地址完全相同,故不需對程序和數(shù)據(jù)的地址進(jìn)行修改數(shù)據(jù)的地址進(jìn)行修改v絕對地址的產(chǎn)生絕對地址的產(chǎn)生程序員直接賦予。不僅要求程序員熟悉內(nèi)存程序員直接賦予。不僅要求程序員熟悉內(nèi)存使用情況,而且一旦程序或數(shù)據(jù)被修改后,使用情況,而且一旦程序或數(shù)據(jù)被修改后,可能要改變程序中的所有地址。通常在程序可能要改變程序中的所有地址。通常在程序中采用符號地址,在編譯或匯編時(shí),再將符中采用符號地址,在編譯或匯編時(shí),再將符號地址轉(zhuǎn)換為

12、絕對地址。號地址轉(zhuǎn)換為絕對地址。編譯或匯編時(shí)產(chǎn)生編譯或匯編時(shí)產(chǎn)生Page 144/23/2022Operating SystemOperating Systemq可重定位裝入方式可重定位裝入方式(Relocation Loading Mode) v絕對裝入方式只能將目標(biāo)模塊裝入到內(nèi)存中事絕對裝入方式只能將目標(biāo)模塊裝入到內(nèi)存中事先指定的位置先指定的位置v在多道程序環(huán)境下,不可能預(yù)知目標(biāo)模塊放在在多道程序環(huán)境下,不可能預(yù)知目標(biāo)模塊放在內(nèi)存中的地址,因此絕對裝入方式不適合在多內(nèi)存中的地址,因此絕對裝入方式不適合在多道環(huán)境下使用道環(huán)境下使用v程序中程序中目標(biāo)模塊的地址通常從目標(biāo)模塊的地址通常從0開始開

13、始,其他地,其他地址都是相對于址都是相對于0計(jì)算計(jì)算相對地址相對地址v把在裝入時(shí)對目標(biāo)程序中指令和數(shù)據(jù)的地址修把在裝入時(shí)對目標(biāo)程序中指令和數(shù)據(jù)的地址修改過程稱為改過程稱為重定位重定位,又因?yàn)?,又因?yàn)榈刂纷儞Q通常是在地址變換通常是在裝入時(shí)一次完成裝入時(shí)一次完成的,以后不再改變,故稱為的,以后不再改變,故稱為靜靜態(tài)重定位態(tài)重定位Page 154/23/2022Operating SystemOperating SystemLOAD 1,2500365365100001100012500150005000250010000作業(yè) 地 址空間內(nèi) 存空 間LOAD 1,12500作業(yè)裝入內(nèi)存時(shí)的情況作業(yè)裝

14、入內(nèi)存時(shí)的情況 缺點(diǎn):不斷的分配和回收,造成內(nèi)存中小空閑塊很多,總?cè)秉c(diǎn):不斷的分配和回收,造成內(nèi)存中小空閑塊很多,總空閑空間量夠,但分配不了空閑空間量夠,但分配不了辦法:緊湊(移動),但該裝入方法不支持辦法:緊湊(移動),但該裝入方法不支持Page 164/23/2022Operating SystemOperating SystemLOAD 1,25003655000250010000作業(yè)地址空間作業(yè)地址空間36510000110001250015000內(nèi)存空間內(nèi)存空間LOAD 1,1250036520000210002250025000內(nèi)存空間內(nèi)存空間LOAD 1,22500將程序加載到將

15、程序加載到10000?將程序移動到將程序移動到20000?Page 174/23/2022Operating SystemOperating Systemq動態(tài)運(yùn)行時(shí)裝入方式動態(tài)運(yùn)行時(shí)裝入方式(Denamic Run-time Loading) v可重定位方式不允許程序運(yùn)行時(shí)可重定位方式不允許程序運(yùn)行時(shí)在內(nèi)存中移在內(nèi)存中移動位置動位置v動態(tài)運(yùn)行時(shí)的裝入程序,是在把裝入模塊裝動態(tài)運(yùn)行時(shí)的裝入程序,是在把裝入模塊裝入內(nèi)存后,并不立即把裝入模塊中的相對地入內(nèi)存后,并不立即把裝入模塊中的相對地址轉(zhuǎn)換為絕對地址,而是把這種址轉(zhuǎn)換為絕對地址,而是把這種地址轉(zhuǎn)換推地址轉(zhuǎn)換推遲到程序真正要遲到程序真正要執(zhí)行執(zhí)

16、行時(shí)才進(jìn)行時(shí)才進(jìn)行。因此,。因此,裝入裝入內(nèi)存后的所有地址都內(nèi)存后的所有地址都仍是相對地址仍是相對地址Page 184/23/2022Operating SystemOperating Systemq程序的裝入程序的裝入q程序的鏈接程序的鏈接Page 194/23/2022Operating SystemOperating System4.1 程序的裝入和鏈接程序的裝入和鏈接 圖 4-1 對用戶程序的處理步驟 庫鏈接程序裝入模塊裝入程序編譯程序產(chǎn)生的目標(biāo)模塊第一步第二步第三步內(nèi)存Page 204/23/2022Operating SystemOperating System4.1.2 程序的鏈

17、接程序的鏈接 1. 靜態(tài)鏈接方式靜態(tài)鏈接方式(Static Linking) 2. 裝入時(shí)動態(tài)鏈接裝入時(shí)動態(tài)鏈接(Load-time Dynamic Linking) 3. 運(yùn)行時(shí)動態(tài)鏈接運(yùn)行時(shí)動態(tài)鏈接(Run-time Dynamic Linking) Page 214/23/2022Operating SystemOperating Systemq靜態(tài)鏈接方式靜態(tài)鏈接方式(Static Linking) v在程序在程序運(yùn)行前運(yùn)行前,先將各目標(biāo)模塊及所需的庫函,先將各目標(biāo)模塊及所需的庫函數(shù)鏈接成一個(gè)完整的裝配模塊,以后不再拆開數(shù)鏈接成一個(gè)完整的裝配模塊,以后不再拆開v在將這幾個(gè)目標(biāo)模塊裝配成

18、一個(gè)裝入模塊時(shí),在將這幾個(gè)目標(biāo)模塊裝配成一個(gè)裝入模塊時(shí),須解決以下兩個(gè)問題須解決以下兩個(gè)問題 對相對地址進(jìn)行修改對相對地址進(jìn)行修改 變換外部調(diào)用符號變換外部調(diào)用符號Page 224/23/2022Operating SystemOperating System模塊模塊 ACALL B;Return;0L1模塊模塊 BCALL C;Return;0M1模塊模塊 CReturn;0N1(a) 目標(biāo)模塊目標(biāo)模塊( (外存外存) )裝入前裝入前鏈接修鏈接修改地址改地址0模塊模塊 AJSR“L”Return;L1模塊模塊 BJSR“LM”Return;LLM1LMLMN1模塊模塊 CReturn;(b)

19、 裝入模塊裝入模塊(外存)(外存)Page 234/23/2022Operating SystemOperating Systemq 裝入時(shí)動態(tài)鏈接裝入時(shí)動態(tài)鏈接(Loadtime Dynamic Linking) v將用戶的源程序編譯后所得的一組目標(biāo)模將用戶的源程序編譯后所得的一組目標(biāo)模塊在裝入內(nèi)存時(shí)采用塊在裝入內(nèi)存時(shí)采用邊裝入邊鏈接邊裝入邊鏈接的方式的方式便于修改和更新便于修改和更新 便于實(shí)現(xiàn)對目標(biāo)模塊的共享便于實(shí)現(xiàn)對目標(biāo)模塊的共享 Page 244/23/2022Operating SystemOperating System模塊模塊 ACALL B;Return;0L1模塊模塊 BCA

20、LL C;Return;0M1模塊模塊 CReturn;0N1外存外存0模塊模塊 AJSR“L”Return;L1模塊模塊 BJSR“LM”Return;LLM1LMLMN1模塊模塊 CReturn;內(nèi)存內(nèi)存裝入時(shí)裝入時(shí)鏈接修鏈接修改地址改地址Page 254/23/2022Operating SystemOperating Systemq 運(yùn)行時(shí)動態(tài)鏈接運(yùn)行時(shí)動態(tài)鏈接(Run-time Dynamic Linking) v應(yīng)用程序在每次運(yùn)行的模塊可能不相同應(yīng)用程序在每次運(yùn)行的模塊可能不相同v運(yùn)行時(shí)動態(tài)鏈接方式將對某些模塊的運(yùn)行時(shí)動態(tài)鏈接方式將對某些模塊的鏈接鏈接推遲到推遲到執(zhí)行執(zhí)行時(shí)才進(jìn)行時(shí)

21、才進(jìn)行,即在執(zhí)行過程中,即在執(zhí)行過程中,當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊當(dāng)發(fā)現(xiàn)一個(gè)被調(diào)用模塊尚未裝入內(nèi)存尚未裝入內(nèi)存時(shí),時(shí),立即由立即由OS去找到該模塊并將之裝入內(nèi)存,去找到該模塊并將之裝入內(nèi)存, 把它鏈接到調(diào)用者模塊上把它鏈接到調(diào)用者模塊上v凡在執(zhí)行過程中未被用到的目標(biāo)模塊,都凡在執(zhí)行過程中未被用到的目標(biāo)模塊,都不會被調(diào)入內(nèi)存和被鏈接到裝入模塊上,不會被調(diào)入內(nèi)存和被鏈接到裝入模塊上,這樣不僅可這樣不僅可加快程序的裝入過程加快程序的裝入過程,而且可,而且可節(jié)省大量的內(nèi)存空間節(jié)省大量的內(nèi)存空間Page 264/23/2022Operating SystemOperating System模塊模塊 ACALL

22、 B;Return;0L1模塊模塊 BCALL C;Return;0M1模塊模塊 CReturn;0N1外存外存0模塊模塊 AJSR“L”Return;L1內(nèi)存內(nèi)存執(zhí)行時(shí)執(zhí)行時(shí)鏈接修鏈接修改地址改地址Page 274/23/2022Operating SystemOperating Systemq程序的裝入和鏈接程序的裝入和鏈接 q連續(xù)分配方式連續(xù)分配方式 q基本分頁存儲管理基本分頁存儲管理 q基本分段存儲管理基本分段存儲管理q虛擬存儲器的基本概念虛擬存儲器的基本概念q請求分頁存儲管理方式請求分頁存儲管理方式q頁面置換算法頁面置換算法q請求分段存儲管理方式請求分段存儲管理方式Page 284/

23、23/2022Operating SystemOperating Systemq單一連續(xù)分配單一連續(xù)分配q固定分區(qū)分配固定分區(qū)分配q動態(tài)分區(qū)分配動態(tài)分區(qū)分配q可重定位分區(qū)分配可重定位分區(qū)分配q對換(對換(SwappingSwapping)Page 294/23/2022Operating SystemOperating Systemq 連續(xù)分配方式為連續(xù)分配方式為一個(gè)用戶一個(gè)用戶程序分配一個(gè)連續(xù)的程序分配一個(gè)連續(xù)的內(nèi)存空間內(nèi)存空間q 單一連續(xù)分配單一連續(xù)分配是最簡單的一種存儲管理方式,是最簡單的一種存儲管理方式,但只能用于但只能用于單用戶、單任務(wù)單用戶、單任務(wù)的操作系統(tǒng)中的操作系統(tǒng)中q 把內(nèi)存

24、分為把內(nèi)存分為v系統(tǒng)區(qū):系統(tǒng)區(qū):OS使用,通常放在內(nèi)存低址部分使用,通常放在內(nèi)存低址部分v用戶區(qū):用戶區(qū):用戶可使用的全部內(nèi)存空間用戶可使用的全部內(nèi)存空間q 存儲器保護(hù)機(jī)構(gòu)不健全,易造成系統(tǒng)破壞存儲器保護(hù)機(jī)構(gòu)不健全,易造成系統(tǒng)破壞q 優(yōu)點(diǎn):易于管理優(yōu)點(diǎn):易于管理q 缺點(diǎn):對要求內(nèi)存空間少的程序,造成內(nèi)存浪缺點(diǎn):對要求內(nèi)存空間少的程序,造成內(nèi)存浪費(fèi);程序全部裝入,很少使用的程序部分也占費(fèi);程序全部裝入,很少使用的程序部分也占用內(nèi)存用內(nèi)存Page 304/23/2022Operating SystemOperating System用戶程序用戶程序位于位于RAM中的中的操作系統(tǒng)操作系統(tǒng)0 xFFF

25、.0位于位于RAM中的中的操作系統(tǒng)操作系統(tǒng)用戶程序用戶程序0ROM中的中的設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序用戶程序用戶程序位于位于RAM中的中的操作系統(tǒng)操作系統(tǒng)0單一連續(xù)區(qū)存儲管理單一連續(xù)區(qū)存儲管理Page 314/23/2022Operating SystemOperating Systemq單一連續(xù)分配單一連續(xù)分配q固定分區(qū)分配固定分區(qū)分配q動態(tài)分區(qū)分配動態(tài)分區(qū)分配q可重定位分區(qū)分配可重定位分區(qū)分配q對換(對換(SwappingSwapping)Page 324/23/2022Operating SystemOperating Systemq最簡單的可運(yùn)行最簡單的可運(yùn)行多道程序多道程序的存儲管理方

26、式的存儲管理方式q內(nèi)存用戶空間劃分為若干個(gè)內(nèi)存用戶空間劃分為若干個(gè)固定大小的區(qū)域固定大小的區(qū)域,每個(gè)分,每個(gè)分區(qū)中只裝入?yún)^(qū)中只裝入一道一道作業(yè)作業(yè)q劃分分區(qū)的方法劃分分區(qū)的方法 v分區(qū)大小相等分區(qū)大小相等:v即使所有的內(nèi)存分區(qū)大小相等即使所有的內(nèi)存分區(qū)大小相等太大:浪費(fèi)太大:浪費(fèi)太?。翰粔蛴锰。翰粔蛴?v分區(qū)大小不等分區(qū)大小不等:v劃分為多個(gè)大、中、小搭配的分區(qū)劃分為多個(gè)大、中、小搭配的分區(qū)根據(jù)程序大小決定所使用的分區(qū)根據(jù)程序大小決定所使用的分區(qū) 大班在大教室、小班在小教室大班在大教室、小班在小教室Page 334/23/2022Operating SystemOperating Syste

27、mq內(nèi)存分配內(nèi)存分配 v分區(qū)的信息根據(jù)分區(qū)使用表管理分區(qū)的信息根據(jù)分區(qū)使用表管理2020v使用界地址寄存器使用界地址寄存器v采用靜態(tài)重定位采用靜態(tài)重定位問題:并發(fā)進(jìn)程數(shù)受分區(qū)個(gè)數(shù)的制約!問題:并發(fā)進(jìn)程數(shù)受分區(qū)個(gè)數(shù)的制約!出現(xiàn):有內(nèi)存卻不能運(yùn)行程序或大進(jìn)程無法運(yùn)行!出現(xiàn):有內(nèi)存卻不能運(yùn)行程序或大進(jìn)程無法運(yùn)行!Page 344/23/2022Operating SystemOperating Systemq單一連續(xù)分配單一連續(xù)分配q固定分區(qū)分配固定分區(qū)分配q動態(tài)分區(qū)分配動態(tài)分區(qū)分配q可重定位分區(qū)分配可重定位分區(qū)分配q對換(對換(SwappingSwapping)Page 354/23/2022Op

28、erating SystemOperating Systemq 根據(jù)進(jìn)程的實(shí)際根據(jù)進(jìn)程的實(shí)際需要,動態(tài)地為需要,動態(tài)地為之分配內(nèi)存空間之分配內(nèi)存空間q 分配中數(shù)據(jù)結(jié)構(gòu)分配中數(shù)據(jù)結(jié)構(gòu) v空閑分區(qū)表空閑分區(qū)表 記錄每個(gè)空閑記錄每個(gè)空閑分區(qū)的情況分區(qū)的情況v空閑分區(qū)鏈空閑分區(qū)鏈 實(shí)現(xiàn)對空閑分實(shí)現(xiàn)對空閑分區(qū)的分配和鏈區(qū)的分配和鏈接接前前向向指指針針N20N個(gè)字節(jié)可用個(gè)字節(jié)可用后后向向指指針針N20Page 364/23/2022Operating SystemOperating Systemq 分區(qū)分配算法分區(qū)分配算法 v首次適應(yīng)算法首次適應(yīng)算法FF v循環(huán)首次適應(yīng)算法循環(huán)首次適應(yīng)算法v最佳適應(yīng)算法最

29、佳適應(yīng)算法v最差適應(yīng)算法最差適應(yīng)算法Page 374/23/2022Operating SystemOperating Systemq 分區(qū)分配算法分區(qū)分配算法 v首次適應(yīng)算法首次適應(yīng)算法FF 空閑分區(qū)鏈以空閑分區(qū)鏈以地址遞增順序地址遞增順序鏈接鏈接分配時(shí)從分配時(shí)從鏈?zhǔn)组_始查找鏈?zhǔn)组_始查找,找到一個(gè)大小可滿足的,找到一個(gè)大小可滿足的空閑分區(qū),劃出一塊給請求者空閑分區(qū),劃出一塊給請求者優(yōu)點(diǎn):簡單;優(yōu)先利用低地址空閑區(qū),保留高地優(yōu)點(diǎn):簡單;優(yōu)先利用低地址空閑區(qū),保留高地址大空閑區(qū)址大空閑區(qū)缺點(diǎn):會造成在低地址部分很多難以利用的小空缺點(diǎn):會造成在低地址部分很多難以利用的小空閑分區(qū),查找效率低閑分區(qū),

30、查找效率低v循環(huán)首次適應(yīng)算法循環(huán)首次適應(yīng)算法每次分配時(shí)每次分配時(shí)從上一次找到從上一次找到空閑分區(qū)的空閑分區(qū)的下一個(gè)空閑下一個(gè)空閑區(qū)開始查找區(qū)開始查找優(yōu)點(diǎn):減少查找空閑分區(qū)開銷,空閑分區(qū)分布更優(yōu)點(diǎn):減少查找空閑分區(qū)開銷,空閑分區(qū)分布更均勻均勻缺點(diǎn):缺乏大的空閑區(qū)缺點(diǎn):缺乏大的空閑區(qū)Page 384/23/2022Operating SystemOperating Systemv最佳適應(yīng)算法最佳適應(yīng)算法空閑區(qū)按容量由小到大排序空閑區(qū)按容量由小到大排序每次分配時(shí),把能滿足要求、又是每次分配時(shí),把能滿足要求、又是最小最小的分區(qū)分的分區(qū)分配給作業(yè)配給作業(yè)優(yōu)點(diǎn):不缺乏大的空閑區(qū)優(yōu)點(diǎn):不缺乏大的空閑區(qū)缺點(diǎn):

31、會在存儲器中留直許多難以利用的小分缺點(diǎn):會在存儲器中留直許多難以利用的小分區(qū)區(qū)“零頭(或碎片)零頭(或碎片)”;查找效率低;查找效率低v最差適應(yīng)算法最差適應(yīng)算法空閑區(qū)按容量由大到小排序空閑區(qū)按容量由大到小排序每次分配時(shí),把能滿足要求、又是每次分配時(shí),把能滿足要求、又是最大最大的分區(qū)分的分區(qū)分配給作業(yè)配給作業(yè)優(yōu)點(diǎn):剩余的空間最大化,不出現(xiàn)太小的優(yōu)點(diǎn):剩余的空間最大化,不出現(xiàn)太小的“零頭零頭”缺點(diǎn):缺乏大的空閑區(qū)缺點(diǎn):缺乏大的空閑區(qū)首次適應(yīng)被認(rèn)為最好、最快,其次是循環(huán),最佳最差首次適應(yīng)被認(rèn)為最好、最快,其次是循環(huán),最佳最差(每次分配后剩下小碎片,難再分,不得不經(jīng)常壓縮(每次分配后剩下小碎片,難再分

32、,不得不經(jīng)常壓縮內(nèi)存,反而浪費(fèi)內(nèi)存,反而浪費(fèi)CPU)Page 394/23/2022Operating SystemOperating Systemq分區(qū)分配操作分區(qū)分配操作 v分配內(nèi)存分配內(nèi)存 從頭開始查表從頭開始查表檢索完否?檢索完否?m.sizeu.size?m.sizeu.sizesize?從該分區(qū)中劃出從該分區(qū)中劃出u.size大小的分區(qū)大小的分區(qū)將該分區(qū)分配給請求者修將該分區(qū)分配給請求者修改有關(guān)數(shù)據(jù)結(jié)構(gòu)改有關(guān)數(shù)據(jù)結(jié)構(gòu)返回返回返回返回繼續(xù)檢索下一個(gè)表項(xiàng)繼續(xù)檢索下一個(gè)表項(xiàng)將該分區(qū)從鏈中移出將該分區(qū)從鏈中移出YNNYYN解決碎解決碎片問題片問題Page 404/23/2022Operat

33、ing SystemOperating Systemq分區(qū)分配操作分區(qū)分配操作 v回收內(nèi)存回收內(nèi)存v進(jìn)程運(yùn)行結(jié)束釋放內(nèi)存時(shí),系統(tǒng)根據(jù)回收區(qū)的進(jìn)程運(yùn)行結(jié)束釋放內(nèi)存時(shí),系統(tǒng)根據(jù)回收區(qū)的首地址,把它插入到空閑鏈表中。根據(jù)回收區(qū)首地址,把它插入到空閑鏈表中。根據(jù)回收區(qū)的位置,有四種情況需處理:的位置,有四種情況需處理:回收區(qū)與插入點(diǎn)的回收區(qū)與插入點(diǎn)的前一個(gè)前一個(gè)空閑分區(qū)相鄰接空閑分區(qū)相鄰接回收區(qū)與插入點(diǎn)的回收區(qū)與插入點(diǎn)的后一個(gè)后一個(gè)空閑分區(qū)相鄰接空閑分區(qū)相鄰接 回收區(qū)同時(shí)與插入點(diǎn)的回收區(qū)同時(shí)與插入點(diǎn)的前、后前、后兩個(gè)分區(qū)相鄰兩個(gè)分區(qū)相鄰接接回收區(qū)不與任何空閑區(qū)鄰接回收區(qū)不與任何空閑區(qū)鄰接Page 41

34、4/23/2022Operating SystemOperating System空閑區(qū)空閑區(qū)回收區(qū)回收區(qū)回收區(qū)回收區(qū)空閑區(qū)空閑區(qū)空閑區(qū)空閑區(qū)回收區(qū)回收區(qū)空閑區(qū)空閑區(qū)回收區(qū)回收區(qū)情況情況1 1情況情況2 2情況情況3 3情況情況4 4Page 424/23/2022Operating SystemOperating System2) 回收內(nèi)存 回收區(qū)F1F2回收區(qū)F2回收區(qū)F1回收區(qū)回收區(qū)Page 434/23/2022Operating SystemOperating Systemq分區(qū)式存儲管理的優(yōu)缺點(diǎn)分區(qū)式存儲管理的優(yōu)缺點(diǎn) 優(yōu)點(diǎn):優(yōu)點(diǎn): 便于動態(tài)申請內(nèi)存便于動態(tài)申請內(nèi)存 便于共享內(nèi)存便于

35、共享內(nèi)存 便于動態(tài)鏈接便于動態(tài)鏈接 缺點(diǎn):缺點(diǎn):碎片問題碎片問題( (外碎片外碎片) ),要求連續(xù)的內(nèi)存空間,要求連續(xù)的內(nèi)存空間,內(nèi)存利用率不高,受實(shí)際內(nèi)存容量限制內(nèi)存利用率不高,受實(shí)際內(nèi)存容量限制Page 444/23/2022Operating SystemOperating Systemq碎片問題碎片問題v經(jīng)過一段時(shí)間的分配回收后,內(nèi)存中存在很多經(jīng)過一段時(shí)間的分配回收后,內(nèi)存中存在很多很小的空閑塊。它們每一個(gè)都很小,不足以滿很小的空閑塊。它們每一個(gè)都很小,不足以滿足分配要求;但其總和滿足分配要求。這些空足分配要求;但其總和滿足分配要求。這些空閑塊被稱為碎片閑塊被稱為碎片v造成存儲資源的浪

36、費(fèi)造成存儲資源的浪費(fèi)q碎片問題的解決碎片問題的解決v緊湊技術(shù):通過在內(nèi)存移動程序,將所有小的緊湊技術(shù):通過在內(nèi)存移動程序,將所有小的空閑區(qū)域合并為大的空閑區(qū)域空閑區(qū)域合并為大的空閑區(qū)域 (緊縮技術(shù),緊致技術(shù),浮動技術(shù),搬家技術(shù))(緊縮技術(shù),緊致技術(shù),浮動技術(shù),搬家技術(shù))v問題:開銷大;移動時(shí)機(jī)問題:開銷大;移動時(shí)機(jī)Page 454/23/2022Operating SystemOperating Systemq單一連續(xù)分配單一連續(xù)分配q固定分區(qū)分配固定分區(qū)分配q動態(tài)分區(qū)分配動態(tài)分區(qū)分配q可重定位分區(qū)分配可重定位分區(qū)分配q對換(對換(SwappingSwapping)Page 464/23/20

37、22Operating SystemOperating System4.2.4 可重定位分區(qū)分配可重定位分區(qū)分配 1. 動態(tài)重定位的引入動態(tài)重定位的引入 操作系統(tǒng)用戶程序110kb用戶程序330kb用戶程序614kb用戶程序926kb80kb用戶程序9用戶程序6用戶程序3用戶程序1操作系統(tǒng)Page 474/23/2022Operating SystemOperating Systemq動態(tài)重定位的引入動態(tài)重定位的引入v連續(xù)分配存在的連續(xù)分配存在的問題問題必須有足夠大的必須有足夠大的連續(xù)空間才能分連續(xù)空間才能分配配v解決方法解決方法:“拼拼接接”或或“緊湊緊湊”的引入的引入操作系統(tǒng)操作系統(tǒng)用戶程

38、序用戶程序1用戶程序用戶程序310 KB30 KB用戶程序用戶程序614 KB用戶程序用戶程序926 KB操作系統(tǒng)操作系統(tǒng)用戶程序用戶程序1用戶程序用戶程序3用戶程序用戶程序6用戶程序用戶程序980 KB(a) 緊湊前緊湊前(b) 緊湊后緊湊后Page 484/23/2022Operating SystemOperating Systemq動態(tài)重定位的實(shí)現(xiàn)動態(tài)重定位的實(shí)現(xiàn)v作業(yè)裝入內(nèi)存后的所有地址仍是作業(yè)裝入內(nèi)存后的所有地址仍是相對地址相對地址,將,將相相對地址對地址轉(zhuǎn)換轉(zhuǎn)換成成物理地址物理地址的工作的工作在指令執(zhí)行時(shí)在指令執(zhí)行時(shí)進(jìn)行進(jìn)行v需要有硬件地址變換機(jī)構(gòu)的支持需要有硬件地址變換機(jī)構(gòu)的支

39、持LOAD1,25003650100250050002500相相 對對 地地 址址10000重重 定定 位位 寄寄 存存 器器LOAD1,250036510000101001250015000作作 業(yè)業(yè) J處處 理理 機(jī)機(jī) 一一 側(cè)側(cè)存存 儲儲 器器 一一 側(cè)側(cè)主主 存存Page 494/23/2022Operating SystemOperating System3. 動態(tài)重定位分區(qū)分配算法動態(tài)重定位分區(qū)分配算法 動態(tài)重定位分區(qū)分配算法,與動態(tài)分區(qū)分配算法基本上相同; 差別僅在于:在這種分配算法中,增加了功能,通常是在找不到足夠大的空閑分區(qū)來滿足用戶需求時(shí),進(jìn)行緊湊。圖4-10示出了動態(tài)重定

40、位分區(qū)分配算法框圖。Page 504/23/2022Operating SystemOperating System請請求求分分配配u.size分分區(qū)區(qū)檢檢索索空空閑閑分分區(qū)區(qū)鏈鏈( (表表) )找找到到大大于于u.size的的可可用用區(qū)區(qū)否否? ?按按動動態(tài)態(tài)分分區(qū)區(qū)方方式式進(jìn)進(jìn)行行分分配配修修改改有有關(guān)關(guān)的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)返返回回分分區(qū)區(qū)號號及及首首批批空空閑閑分分區(qū)區(qū)總總和和u.size?進(jìn)進(jìn)行行緊緊湊湊形形成成連連續(xù)續(xù)空空閑閑區(qū)區(qū)修修改改有有關(guān)關(guān)的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)否否是是無無法法分分配配返返回回否否q動態(tài)重定位分區(qū)分配算法動態(tài)重定位分區(qū)分配算法v在一個(gè)分區(qū)釋放后立即移動在一個(gè)分區(qū)釋

41、放后立即移動v當(dāng)請求得不到滿足時(shí)再移動當(dāng)請求得不到滿足時(shí)再移動Page 514/23/2022Operating SystemOperating Systemq 可重定位分區(qū)的優(yōu)缺點(diǎn)可重定位分區(qū)的優(yōu)缺點(diǎn)v優(yōu)點(diǎn)優(yōu)點(diǎn): :解決了可變分區(qū)分配所引入的解決了可變分區(qū)分配所引入的“外零頭外零頭”問題。問題。消除內(nèi)存碎片,提高內(nèi)存利用率。消除內(nèi)存碎片,提高內(nèi)存利用率。v缺點(diǎn)缺點(diǎn): :提高硬件成本,緊湊時(shí)花費(fèi)時(shí)間。提高硬件成本,緊湊時(shí)花費(fèi)時(shí)間。Page 524/23/2022Operating SystemOperating Systemq單一連續(xù)分配單一連續(xù)分配q固定分區(qū)分配固定分區(qū)分配q動態(tài)分區(qū)分配動態(tài)

42、分區(qū)分配q可重定位分區(qū)分配可重定位分區(qū)分配q對換(對換(SwappingSwapping)Page 534/23/2022Operating SystemOperating System4.2.5 對換對換(Swapping) 1. 對換的引入對換的引入 對換(也稱交換)技術(shù),最早用在單用戶系統(tǒng),在內(nèi)存中僅駐留一道用戶作業(yè)。所有其它作業(yè)都駐留在外存的后備隊(duì)列上,只調(diào)入一個(gè)作業(yè)進(jìn)入內(nèi)存運(yùn)行;此作業(yè)的時(shí)間片用完時(shí),該作業(yè)調(diào)至外存,再將后備隊(duì)列上的另一個(gè)作業(yè)調(diào)入內(nèi)存;也讓它運(yùn)行一個(gè)時(shí)間片的時(shí)間,然后又將它調(diào)出,再調(diào)下一個(gè)作業(yè)進(jìn)入內(nèi)存。因?yàn)槠湫侍?,其CPU大約有一半的時(shí)間,都處于空閑狀態(tài)。Page

43、 544/23/2022Operating SystemOperating Systemq對換的引入對換的引入 v所謂所謂“對換對換”,是指把內(nèi)存中暫時(shí)不能運(yùn)行,是指把內(nèi)存中暫時(shí)不能運(yùn)行的進(jìn)程或者暫時(shí)不用的程序和數(shù)據(jù),調(diào)出到的進(jìn)程或者暫時(shí)不用的程序和數(shù)據(jù),調(diào)出到外存上,以便騰出足夠的內(nèi)存空間,再把已外存上,以便騰出足夠的內(nèi)存空間,再把已具備運(yùn)行條件的進(jìn)程或進(jìn)程所需要的程序和具備運(yùn)行條件的進(jìn)程或進(jìn)程所需要的程序和數(shù)據(jù),調(diào)入內(nèi)存。對換是數(shù)據(jù),調(diào)入內(nèi)存。對換是提高內(nèi)存利用率提高內(nèi)存利用率的的有效措施有效措施v如果對換是以整個(gè)進(jìn)程為單位,稱為如果對換是以整個(gè)進(jìn)程為單位,稱為“整體整體對換對換”或或“進(jìn)

44、程對換進(jìn)程對換”v如果對換是以如果對換是以“頁頁”或或“段段”為單位進(jìn)行的,為單位進(jìn)行的,則稱為則稱為“頁面對換頁面對換”或或“分段對換分段對換”,又統(tǒng),又統(tǒng)稱為稱為“部分對換部分對換”Page 554/23/2022Operating SystemOperating System4.2.5 對換對換(Swapping) 1. 對換的引入對換的引入 對換是以整個(gè)進(jìn)程為單位,便稱之為,解決內(nèi)存緊張問題; 對換是以為單位,則分別稱之為,又統(tǒng)稱為 為了實(shí)現(xiàn)進(jìn)程對換,系統(tǒng)必須能實(shí)現(xiàn)以下三方面的功能:(1)對換空間的管理;(2)進(jìn)程的換出;(3)進(jìn)程的換入。 Page 564/23/2022Operat

45、ing SystemOperating Systemq對換空間的管理對換空間的管理v外存中對換區(qū)主要存放從內(nèi)存中換出的進(jìn)程,外存中對換區(qū)主要存放從內(nèi)存中換出的進(jìn)程,對換空間管理的對換空間管理的主要目標(biāo)主要目標(biāo)是是提高進(jìn)程換入和換提高進(jìn)程換入和換出的速度出的速度v對換區(qū)中空閑盤塊的管理對換區(qū)中空閑盤塊的管理:在系統(tǒng)中配置相應(yīng):在系統(tǒng)中配置相應(yīng)的數(shù)據(jù)結(jié)構(gòu),記錄外存的使用情況。形式與內(nèi)的數(shù)據(jù)結(jié)構(gòu),記錄外存的使用情況。形式與內(nèi)存在動態(tài)分區(qū)分配方式中所用數(shù)據(jù)結(jié)構(gòu)相似,存在動態(tài)分區(qū)分配方式中所用數(shù)據(jù)結(jié)構(gòu)相似,即用即用空閑分區(qū)表或空閑分區(qū)鏈空閑分區(qū)表或空閑分區(qū)鏈。在空閑分區(qū)表。在空閑分區(qū)表中的每個(gè)表目中應(yīng)包

46、含兩項(xiàng),中的每個(gè)表目中應(yīng)包含兩項(xiàng), 即即對換區(qū)的首址對換區(qū)的首址及其及其大小大小,它們的單位是盤塊號和盤塊數(shù),它們的單位是盤塊號和盤塊數(shù)v對換區(qū)的分配采用對換區(qū)的分配采用連續(xù)分配方式連續(xù)分配方式,分配算法可,分配算法可以是以是首次適應(yīng)算法首次適應(yīng)算法、循環(huán)首次適應(yīng)算法循環(huán)首次適應(yīng)算法或或最佳最佳適應(yīng)算法適應(yīng)算法Page 574/23/2022Operating SystemOperating System2. 對換空間的管理對換空間的管理 由于對對換區(qū)的分配,是采用連續(xù)分配方式,對換區(qū) 的回收操作也可分為下述四種情況,即:(1)回收區(qū)與插入點(diǎn)的前一分區(qū)F1相鄰接;(2)回收區(qū)與插入點(diǎn)的后一分區(qū)

47、F2相鄰接;(3)回收區(qū)還同時(shí)與F1和F2二個(gè)分區(qū)相鄰接;(4)回收區(qū)的前、后沒有與之相鄰接的空閑分區(qū)。 對這幾種情況的處理方法也與動態(tài)分區(qū)分配式的方法相同。回收區(qū)F1F2回收區(qū)F2回收區(qū)F1回收區(qū)回收區(qū)Page 584/23/2022Operating SystemOperating Systemq進(jìn)程的換出與換入進(jìn)程的換出與換入v進(jìn)程的換出進(jìn)程的換出系統(tǒng)先系統(tǒng)先選擇選擇處于處于“阻塞阻塞”狀態(tài)狀態(tài)且且優(yōu)先級最低優(yōu)先級最低的進(jìn)程作為換出進(jìn)程,然后啟動盤塊,將該的進(jìn)程作為換出進(jìn)程,然后啟動盤塊,將該進(jìn)程的程序和數(shù)據(jù)傳送到磁盤的進(jìn)程的程序和數(shù)據(jù)傳送到磁盤的對換區(qū)對換區(qū)上。上。若傳送未出現(xiàn)錯(cuò)誤,便

48、回收其所占用的內(nèi)存若傳送未出現(xiàn)錯(cuò)誤,便回收其所占用的內(nèi)存空間,并對該進(jìn)程的空間,并對該進(jìn)程的進(jìn)程控制塊進(jìn)程控制塊做相應(yīng)的修做相應(yīng)的修改改v進(jìn)程的換入進(jìn)程的換入系統(tǒng)應(yīng)定時(shí)地查看所有進(jìn)程的狀態(tài),從中找系統(tǒng)應(yīng)定時(shí)地查看所有進(jìn)程的狀態(tài),從中找出出“就緒就緒”狀態(tài)狀態(tài)但已換出的進(jìn)程,將其中但已換出的進(jìn)程,將其中換換出時(shí)間出時(shí)間(換出到磁盤上換出到磁盤上)最久最久的進(jìn)程作為換入的進(jìn)程作為換入進(jìn)程,將之換入,直至已無可換入的進(jìn)程或進(jìn)程,將之換入,直至已無可換入的進(jìn)程或無可換出的進(jìn)程為止無可換出的進(jìn)程為止Page 594/23/2022Operating SystemOperating Systemq 可重定

49、位分區(qū)的優(yōu)缺點(diǎn)可重定位分區(qū)的優(yōu)缺點(diǎn)v優(yōu)點(diǎn)優(yōu)點(diǎn): :解決了可變分區(qū)解決了可變分區(qū)分配所引入的分配所引入的“外零頭外零頭”問題。問題。消除內(nèi)存碎片,消除內(nèi)存碎片,提高內(nèi)存利用率。提高內(nèi)存利用率。v缺點(diǎn)缺點(diǎn): :提高硬件成本,提高硬件成本,緊湊時(shí)花費(fèi)時(shí)間。緊湊時(shí)花費(fèi)時(shí)間。操作系統(tǒng)操作系統(tǒng)用戶程序用戶程序1用戶程序用戶程序310 KB30 KB用戶程序用戶程序614 KB用戶程序用戶程序926 KB操作系統(tǒng)操作系統(tǒng)用戶程序用戶程序1用戶程序用戶程序3用戶程序用戶程序6用戶程序用戶程序980 KB(a) 緊湊前緊湊前(b) 緊湊后緊湊后Page 604/23/2022Operating SystemOp

50、erating Systemq多重分區(qū)多重分區(qū)v即一個(gè)程序可以占據(jù)主存中不連續(xù)的多個(gè)分即一個(gè)程序可以占據(jù)主存中不連續(xù)的多個(gè)分區(qū)區(qū)可以解決碎片問題可以解決碎片問題v支持結(jié)構(gòu)化程序設(shè)計(jì),操作系統(tǒng)往往把一道支持結(jié)構(gòu)化程序設(shè)計(jì),操作系統(tǒng)往往把一道作業(yè)分成若干片段如子程序、主程序、數(shù)據(jù)作業(yè)分成若干片段如子程序、主程序、數(shù)據(jù)組等。組等。v需要硬件支持(多對界地址寄存器,需要硬件支持(多對界地址寄存器,重定位重定位寄存器寄存器)v管理復(fù)雜管理復(fù)雜Page 614/23/2022Operating SystemOperating Systemq多重分區(qū)多重分區(qū) Page 624/23/2022Operatin

51、g SystemOperating Systemq分區(qū)的保護(hù)分區(qū)的保護(hù) 為為了防止一道作業(yè)有意或無意地破壞操作系了防止一道作業(yè)有意或無意地破壞操作系統(tǒng)或其它作業(yè)。一般說來,沒有硬件支持,實(shí)統(tǒng)或其它作業(yè)。一般說來,沒有硬件支持,實(shí)現(xiàn)有效的存儲保護(hù)是困難的。通常采?。含F(xiàn)有效的存儲保護(hù)是困難的。通常采?。簐界限寄存器方式界限寄存器方式v保護(hù)鍵方式保護(hù)鍵方式v兩種措施,或二者兼而有之。兩種措施,或二者兼而有之。Page 634/23/2022Operating SystemOperating Systemq保護(hù)過程保護(hù)過程防止地址越界防止地址越界 一般由硬件提供一對寄存器:一般由硬件提供一對寄存器:v

52、 基址寄存器:存放起始地址基址寄存器:存放起始地址v 限長寄存器:存放長度限長寄存器:存放長度(上界寄存器(上界寄存器/ /下界寄存器)下界寄存器)Page 644/23/2022Operating SystemOperating Systemq界限寄存器保護(hù)界限寄存器保護(hù)v60K 60K 訪問地址訪問地址 =124K =124K v則產(chǎn)生訪問地址界中斷則產(chǎn)生訪問地址界中斷Page 654/23/2022Operating SystemOperating Systemq基址、限長寄存器保護(hù)基址、限長寄存器保護(hù)v相對地址相對地址 限長寄存器的值限長寄存器的值v則產(chǎn)生訪問地址界中斷則產(chǎn)生訪問地址界

53、中斷Page 664/23/2022Operating SystemOperating Systemq防止操作越權(quán)防止操作越權(quán) 對于允許多個(gè)進(jìn)程共享的存儲區(qū)域,對于允許多個(gè)進(jìn)程共享的存儲區(qū)域,每個(gè)進(jìn)程都有自己的訪問權(quán)限。如果一個(gè)每個(gè)進(jìn)程都有自己的訪問權(quán)限。如果一個(gè)進(jìn)程對共享區(qū)域的訪問違反了權(quán)限規(guī)定,進(jìn)程對共享區(qū)域的訪問違反了權(quán)限規(guī)定,則發(fā)生操作越權(quán)則發(fā)生操作越權(quán) 即讀寫保護(hù)即讀寫保護(hù)Page 674/23/2022Operating SystemOperating Systemq 保護(hù)鍵方式保護(hù)鍵方式Page 684/23/2022Operating SystemOperating Syste

54、m4.3 基本分頁存儲管理方式基本分頁存儲管理方式 連續(xù)分配方式會形成許多“碎片”,通過“緊湊”方法將碎片拼接成可用的大塊空間,但須為此付出很大開銷。 根據(jù)離散分配時(shí)所用基本單位的不同,又可把離散分配方式分以下三種: 1、分頁存儲管理、分頁存儲管理 2、分段存儲管理、分段存儲管理 3、段頁式存儲管理、段頁式存儲管理 Page 694/23/2022Operating SystemOperating System存儲器管理存儲器管理連續(xù)分配方式連續(xù)分配方式離散分配方式離散分配方式分頁存儲管理分頁存儲管理分段存儲管理分段存儲管理基本分頁存儲管理基本分頁存儲管理請求分頁存儲管理請求分頁存儲管理基本分

55、段存儲管理基本分段存儲管理請求分段存儲管理請求分段存儲管理基本分頁存儲管理基本分頁存儲管理基本分段存儲管理基本分段存儲管理請求分頁存儲管理請求分頁存儲管理請求分段存儲管理請求分段存儲管理段頁式存儲管理段頁式存儲管理虛擬存儲器虛擬存儲器頁面置換算法頁面置換算法Page 704/23/2022Operating SystemOperating Systemq程序的裝入和鏈接程序的裝入和鏈接 q連續(xù)分配方式連續(xù)分配方式 q基本分頁存儲管理基本分頁存儲管理 q基本分段存儲管理基本分段存儲管理q虛擬存儲器的基本概念虛擬存儲器的基本概念q請求分頁存儲管理方式請求分頁存儲管理方式q頁面置換算法頁面置換算法q

56、請求分段存儲管理方式請求分段存儲管理方式Page 714/23/2022Operating SystemOperating System4.3 基本分頁存儲管理方式基本分頁存儲管理方式 在分頁存儲管理的方式中,如果不具備頁面對換對換功能,則稱為,它不具有支持實(shí)現(xiàn)虛擬存儲器的功能,它要求把每個(gè)作業(yè)全部裝入內(nèi)存后方能運(yùn)行。Page 724/23/2022Operating SystemOperating Systemq頁面與頁表頁面與頁表q地址變換機(jī)構(gòu)地址變換機(jī)構(gòu)q兩級和多級頁表兩級和多級頁表Page 734/23/2022Operating SystemOperating Systemq連續(xù)分配

57、方式連續(xù)分配方式要求為一個(gè)進(jìn)程分配連續(xù)的內(nèi)存空要求為一個(gè)進(jìn)程分配連續(xù)的內(nèi)存空間,會形成許多間,會形成許多“碎片碎片”,盡管采用盡管采用“ “緊湊緊湊” ”技術(shù)技術(shù)可以解決這個(gè)問題,但要為移動大量信息花去不可以解決這個(gè)問題,但要為移動大量信息花去不少的處理機(jī)時(shí)間,代價(jià)較高少的處理機(jī)時(shí)間,代價(jià)較高q如果允許一個(gè)進(jìn)程直接分散地裝入到許多不相鄰如果允許一個(gè)進(jìn)程直接分散地裝入到許多不相鄰接的分區(qū)中,稱為接的分區(qū)中,稱為離散分配方式離散分配方式q離散分配方式有離散分配方式有分頁存儲管理方式分頁存儲管理方式和和分段存儲管分段存儲管理方式理方式q分頁:把用戶程序按邏輯頁劃分成大小相等的部分頁:把用戶程序按邏輯

58、頁劃分成大小相等的部分,稱為頁或虛頁。從分,稱為頁或虛頁。從0 0開始編制頁號,頁內(nèi)地開始編制頁號,頁內(nèi)地址是相對于址是相對于0 0編址。編址。Page 744/23/2022Operating SystemOperating Systemq頁面頁面v頁面和物理塊頁面和物理塊頁面:頁面:將一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)將一個(gè)進(jìn)程的邏輯地址空間分成若干個(gè)大小相等的片,稱為大小相等的片,稱為頁面或頁頁面或頁,并加以編號,并加以編號,從從0開始編制頁號,頁內(nèi)地址是相對于開始編制頁號,頁內(nèi)地址是相對于0編址。編址。物理塊:物理塊:內(nèi)存按頁的大小劃分為大小相等的區(qū)內(nèi)存按頁的大小劃分為大小相等的區(qū)域,域

59、,稱為物理塊(物理頁面,頁框稱為物理塊(物理頁面,頁框(frame),幀),幀),同樣加以編號,如同樣加以編號,如0塊、塊、1塊等等塊等等在為進(jìn)程分配內(nèi)存時(shí),以塊為單位將進(jìn)程中的在為進(jìn)程分配內(nèi)存時(shí),以塊為單位將進(jìn)程中的若干個(gè)頁分別裝入到多個(gè)可以不相鄰接的物理若干個(gè)頁分別裝入到多個(gè)可以不相鄰接的物理塊中。由于進(jìn)程的最后一頁經(jīng)常裝不滿一塊而塊中。由于進(jìn)程的最后一頁經(jīng)常裝不滿一塊而形成了不可利用的碎片,稱之為形成了不可利用的碎片,稱之為“頁內(nèi)碎片頁內(nèi)碎片”Page 754/23/2022Operating SystemOperating Systemq頁面頁面v頁面大小頁面大小頁面的大小應(yīng)選擇的適中

60、,且頁面大小應(yīng)是頁面的大小應(yīng)選擇的適中,且頁面大小應(yīng)是2的冪,通常為的冪,通常為512 B8 KB頁面若太小頁面若太小雖然可使內(nèi)存雖然可使內(nèi)存碎片減小碎片減小,從而減少了內(nèi)存碎片的,從而減少了內(nèi)存碎片的總空間,總空間, 有利于有利于提高內(nèi)存利用率提高內(nèi)存利用率,但也會使每個(gè),但也會使每個(gè)進(jìn)程占用較多的頁面,從而導(dǎo)致進(jìn)程的進(jìn)程占用較多的頁面,從而導(dǎo)致進(jìn)程的頁表過長頁表過長,占用大量內(nèi)存;占用大量內(nèi)存; 此外,還會此外,還會降低頁面換進(jìn)換出的降低頁面換進(jìn)換出的效率效率如果選擇的頁面較大如果選擇的頁面較大雖然可以雖然可以減少頁表的長度減少頁表的長度,提高頁面換進(jìn)換出的,提高頁面換進(jìn)換出的速度,但卻又

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論