




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)原理
OperatingSystemPrinciples四川大學(xué)計算機(jī)學(xué)院段磊leiduan@2014Spring1/17/20231《計算機(jī)操作系統(tǒng)》-第6章第6章存儲器管理計算機(jī)的存儲系統(tǒng)主要包括內(nèi)存儲器和外存儲器。外存儲器保存的信息必須進(jìn)入內(nèi)存儲器后才能被處理器運行。
存儲器管理是操作系統(tǒng)的主要功能之一。內(nèi)存管理分為連續(xù)管理方式和離散管理方式。1/17/20232《計算機(jī)操作系統(tǒng)》-第6章知識點分布難點高級知識
中級知識
基礎(chǔ)知識進(jìn)程同步信號量虛存頁面分配頁面置換分頁分段文件系統(tǒng)I/O磁盤管理實踐教學(xué)1/17/20233《計算機(jī)操作系統(tǒng)》-第6章講在前面-存儲管理目的操作系統(tǒng)的“方便”性便于用戶裝入程序,無須了解底層細(xì)節(jié)可實現(xiàn)動態(tài)的存儲空間伸縮,適應(yīng)不同程序的需要操作系統(tǒng)的“合理”性合理分配內(nèi)存空間,保證多道程序的順利運行合理保護(hù)內(nèi)存空間,防止各種可能的破壞泄漏操作系統(tǒng)的“有效”性有效保持內(nèi)存空間的可用性,防止對資源的浪費有效實現(xiàn)“小空間大容量”,提高計算機(jī)的適應(yīng)性有效配合CPU的調(diào)度過程,實現(xiàn)系統(tǒng)運行的穩(wěn)定1/17/20234《計算機(jī)操作系統(tǒng)》-第6章講在前面-存儲管理目的使得用戶和用戶程序不涉及內(nèi)存物理的細(xì)節(jié)。為用戶程序完成程序的裝入。提高內(nèi)存的利用率,彌補(bǔ)用戶對內(nèi)存容量的需求與內(nèi)存實際容量之間的差距。解決內(nèi)存速度與CPU速度不匹配的問題。實現(xiàn)內(nèi)存共享。1/17/20235《計算機(jī)操作系統(tǒng)》-第6章講在前面-存儲管理的功能內(nèi)存的管理、分配與回收空間的使用情況記錄—位圖、分配表、分區(qū)表空間的分配與回收—定長與不定長、靜態(tài)與動態(tài)地址重定位(地址映射)物理地址與邏輯地址的差別實模式與保護(hù)模式共享與保護(hù)內(nèi)存共享:進(jìn)程與線程、中間件應(yīng)用內(nèi)存保護(hù):如何防止地址越界或操作越權(quán)?內(nèi)存的擴(kuò)充虛擬存儲:如何使用小內(nèi)存空間來運行大的程序?1/17/20236《計算機(jī)操作系統(tǒng)》-第6章講在前面-地址空間
程序的名空間
用戶編程所用的地址稱為邏輯地址(或程序地址,或虛地址)。由邏輯地址組成的空間稱為邏輯地址空間(或程序地址空間)。
內(nèi)存的每個存儲單元都有一個編號,這種編號稱為內(nèi)存地址(或稱為物理地址,絕對地址)。
內(nèi)存地址的集合稱為內(nèi)存空間(或物理地址空間)。1/17/20237《計算機(jī)操作系統(tǒng)》-第6章地址映射LoadA2003456
。。物理地址空間LoadAdata1data13456源程序LoadA2003456編譯連接邏輯地址空間源程序經(jīng)過匯編或編譯后,形成目標(biāo)程序,每個目標(biāo)程序都是以0為基址順序進(jìn)行編址的,原來用符號名訪問的單元用具體的數(shù)據(jù)——單元號取代。這樣生成的目標(biāo)程序占據(jù)一定的地址空間,稱為作業(yè)的邏輯地址空間,簡稱邏輯空間。在邏輯空間中每條指令的地址和指令中要訪問的操作數(shù)地址統(tǒng)稱為邏輯地址。講在前面-地址空間1/17/20238《計算機(jī)操作系統(tǒng)》-第6章地址映射LoadA2003456
。。1200物理地址空間LoadAdata1data13456源程序LoadA20034560100200編譯連接邏輯地址空間BA=1000把內(nèi)存分成若干個大小相等的存儲單元,每個單元給一個編號,這個編號稱為內(nèi)存地址(物理地址、絕對地址、實地址),存儲單元占8位,稱作字節(jié)(byte)。物理地址的集合稱為物理地址空間(主存地址空間),它是一個一維的線性空間。講在前面-地址空間1/17/20239《計算機(jī)操作系統(tǒng)》-第6章講在前面-存儲管理的方案分區(qū)存儲管理段式存儲管理頁式存儲管理段頁式存儲管理交換和覆蓋技術(shù)是一種連續(xù)存儲管理方案,但需要一次性全部裝入內(nèi)存。是一種不連續(xù)存儲管理方案,段和段之間可以不連續(xù),但需要一次性全部裝入內(nèi)存。是一種不連續(xù)存儲管理方案,也需要一次性全部裝入內(nèi)存。是一種不連續(xù)存儲方案,如果采用純分頁和分段思想,需要一次性全部裝入內(nèi)存;如果采用虛擬存儲思想,則不需要一次性全部裝入內(nèi)存。是存儲擴(kuò)充的兩種技術(shù),其中交換技術(shù)的優(yōu)點是編寫程序時不需要特殊的控制,也不會影響程序的結(jié)構(gòu)。1/17/202310《計算機(jī)操作系統(tǒng)》-第6章本章目錄6.1存儲器管理概述存儲器的層次程序準(zhǔn)備執(zhí)行覆蓋技術(shù)緊湊技術(shù)對換技術(shù)6.2連續(xù)存儲空間管理6.3分頁式存儲管理6.4分段式存儲管理1/17/202311《計算機(jī)操作系統(tǒng)》-第6章6.1.1存儲器的層次存儲空間的分類與性質(zhì)1/17/202312《計算機(jī)操作系統(tǒng)》-第6章計算機(jī)系統(tǒng)存儲層次示意解決主存訪問速度
vs
CPU指令執(zhí)行速度的矛盾減少訪存次數(shù),提高程序執(zhí)行速度減少訪問磁盤的次數(shù),并提供對主存空間的擴(kuò)充1/17/202313《計算機(jī)操作系統(tǒng)》-第6章6.1.2
程序的準(zhǔn)備執(zhí)行相關(guān)知識回顧進(jìn)程創(chuàng)建高級調(diào)度(作業(yè)調(diào)度)程序的執(zhí)行過程編譯:源代碼形成(多個)目標(biāo)模塊鏈接:鏈接相關(guān)庫函數(shù),形成裝入模塊裝入:裝入內(nèi)存運行1/17/202314《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行1/17/202315《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--鏈接靜態(tài)鏈接對相對地址的修改變換外部調(diào)用符號裝入時鏈接便于修改和更新便于實現(xiàn)對目標(biāo)模塊的共享運行時動態(tài)鏈接形成一個完整的裝入模塊,即可執(zhí)行文件,運行時直接裝入內(nèi)存。邊裝入,邊鏈接,即在裝入過程中發(fā)生調(diào)用事件,由裝入程序找到對應(yīng)模塊,裝入內(nèi)存。執(zhí)行過程中發(fā)生調(diào)用事件,找到對應(yīng)模塊裝入內(nèi)存并鏈接到調(diào)用模塊上。統(tǒng)稱“動態(tài)鏈接”,被鏈接的共享代碼稱為動態(tài)鏈接庫DLL(DynamicLinkLibrary)或共享庫(sharedlibrary)。1/17/202316《計算機(jī)操作系統(tǒng)》-第6章模塊ACALLB;RETURN模塊BCALLC;RETURN模塊CRETURN0L-10M-10N-1(a)目標(biāo)模塊模塊AJSRL;RETURN模塊BJSRL+M;RETURN模塊CRETURN0L-1LL+M-1L+ML+M+N-1(b)裝入模塊程序的準(zhǔn)備執(zhí)行--靜態(tài)鏈接1/17/202317《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--動態(tài)鏈接動態(tài)鏈接優(yōu)點共享:多個進(jìn)程可以共用一個DLL,比較節(jié)省內(nèi)存,從而可以減少文件的交換。缺點部分裝入:一個進(jìn)程可以將多種操作分散在不同的DLL中實現(xiàn),而只將當(dāng)前操作的DLL裝入內(nèi)存。便于局部代碼修改:即便于代碼升級和代碼重用;只要函數(shù)的接口參數(shù)(輸入和輸出)不變,則修改函數(shù)及其DLL時,無需對可執(zhí)行文件重新編譯或鏈接。便于適應(yīng)運行環(huán)境:調(diào)用不同的DLL,就可以適應(yīng)多種使用環(huán)境并提供不同的功能。
增加了程序執(zhí)行時的鏈接開銷。
程序由多個文件組成,因此增加了管理復(fù)雜度。1/17/202318《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入絕對裝入方式靜態(tài)重定位裝入方式動態(tài)重定位裝入方式LoadA2003456
。。物理地址空間LoadA2003456邏輯地址空間邏輯地址與實際內(nèi)存地址一致適用于單道程序環(huán)境1/17/202319《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入絕對裝入方式靜態(tài)重定位裝入方式動態(tài)重定位裝入方式地址映射/地址重定位把用戶程序裝入內(nèi)存時對有關(guān)指令的地址部分的修改定義為從程序地址到內(nèi)存地址的地址映射,或稱為地址重定位。靜態(tài)地址映射動態(tài)地址映射1/17/202320《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入靜態(tài)地址映射(靜態(tài)重定位)程序被裝入內(nèi)存時,由操作系統(tǒng)的連接裝入程序完成程序的邏輯地址到內(nèi)存地址的轉(zhuǎn)換。假定程序裝入內(nèi)存的首地址為BR,程序地址為VR,內(nèi)存地址為MR,則地址映射按下式進(jìn)行:MR=BR+VR。例如,程序裝入內(nèi)存的首地址為1000,則裝配程序就按MR=1000+VR對程序中所有地址部分進(jìn)行修改,修改后指令LoadA,200就變?yōu)長oadA,1200優(yōu)點:不需要硬件的支持。缺點:程序必須占用連續(xù)的內(nèi)存空間,一旦程序裝入后不能移動。1/17/202321《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入動態(tài)地址映射(動態(tài)重定位)動態(tài)地址重定位是在程序執(zhí)行的過程中,每次訪問內(nèi)存之前,將要訪問的程序地址轉(zhuǎn)換為內(nèi)存地址。一般來說這種轉(zhuǎn)換是由專門的硬件機(jī)構(gòu)來完成的。最簡單的硬件機(jī)構(gòu)是重定位寄存器。在地址重定位機(jī)構(gòu)中,有一個基地址寄存器BR和一個程序地址寄存器VR,一個內(nèi)存地址寄存器MR。03456......LOADA200......0100200300.........LOADA2003456110012001300200VR+1000BR1/17/202322《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入動態(tài)地址映射(動態(tài)重定位)動態(tài)地址重定位是在程序執(zhí)行的過程中,每次訪問內(nèi)存之前,將要訪問的程序地址轉(zhuǎn)換為內(nèi)存地址。一般來說這種轉(zhuǎn)換是由專門的硬件機(jī)構(gòu)來完成的。最簡單的硬件機(jī)構(gòu)是重定位寄存器。在地址重定位機(jī)構(gòu)中,有一個基地址寄存器BR和一個程序地址寄存器VR,一個內(nèi)存地址寄存器MR。1/17/202323《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行--裝入動態(tài)地址映射(動態(tài)重定位)過程描述:程序裝入內(nèi)存后,它所占用的內(nèi)存區(qū)的首地址由系統(tǒng)送入基地址寄存器BR中。在程序執(zhí)行的過程中,若要訪問內(nèi)存,將訪問的邏輯地址送入VR中。地址轉(zhuǎn)換機(jī)構(gòu)把VR和BR中的內(nèi)容相加,并將結(jié)果送入MR中,作為實際訪問的地址。1/17/202324《計算機(jī)操作系統(tǒng)》-第6章load1,2500365load1,25003650100250050002500100001000010100+1250015000作業(yè)J處理機(jī)一側(cè)存儲器一側(cè)重定位寄存器相對地址1/17/202325《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行-裝入動態(tài)地址映射(動態(tài)重定位)優(yōu)點:程序占用的內(nèi)存空間是動態(tài)可變的,當(dāng)程序從某個存儲區(qū)移到另一個區(qū)域時,只需要修改相應(yīng)的寄存器BR的內(nèi)容即可。一個程序不一定要求占用一個連續(xù)的內(nèi)存空間??梢圆糠值匮b入程序運行。便于多個進(jìn)程共享同一個程序的代碼。1/17/202326《計算機(jī)操作系統(tǒng)》-第6章程序的準(zhǔn)備執(zhí)行-裝入動態(tài)地址映射(動態(tài)重定位)缺點:需要硬件的支持。實現(xiàn)存儲管理的軟件算法較為復(fù)雜。1/17/202327《計算機(jī)操作系統(tǒng)》-第6章6.1.3覆蓋技術(shù)當(dāng)內(nèi)存空間有限時,某些大的用戶程序不能一次全部裝入內(nèi)存時,系統(tǒng)需要采取覆蓋技術(shù)解決這一問題。將大的用戶程序劃分為一個個相對獨立的程序單位將程序執(zhí)行時不需要同時裝入內(nèi)存的程序單位組成覆蓋段。覆蓋段的長度不能超過已有內(nèi)存空間大小,每個覆蓋段分先后順序進(jìn)入到所分配的內(nèi)存空間,后進(jìn)入內(nèi)存空間的段將先進(jìn)入內(nèi)存空間的段覆蓋。1/17/202328《計算機(jī)操作系統(tǒng)》-第6章覆蓋技術(shù)采用了覆蓋的程序執(zhí)行比沒有采用覆蓋的程序執(zhí)行慢采用覆蓋程序執(zhí)行過程中增加了讀覆蓋段的過程(輸入操作),需要花費相當(dāng)多的時間。覆蓋技術(shù)要求程序員具有完整的程序指令、代碼和數(shù)據(jù)結(jié)構(gòu)方面的知識。覆蓋僅限于微型計算機(jī)和物理內(nèi)存有限而又不支持更先進(jìn)技術(shù)的系統(tǒng)1/17/202329《計算機(jī)操作系統(tǒng)》-第6章6.1.4
緊湊技術(shù)緊湊技術(shù)通過改變進(jìn)程在內(nèi)存中的位置,移動存儲器中某些已分配分區(qū)中的信息,使分散在內(nèi)存中的“碎片”能夠匯集成一片,再分配給進(jìn)程使用,達(dá)到充分利用內(nèi)存的目的。提高內(nèi)存的利用率1/17/202330《計算機(jī)操作系統(tǒng)》-第6章操作系統(tǒng)用戶程序1用戶程序3用戶程序6用戶程序910kb操作系統(tǒng)用戶程序1用戶程序3用戶程序6用戶程序926kb14kb30kb80kb緊湊技術(shù)1/17/202331《計算機(jī)操作系統(tǒng)》-第6章緊湊技術(shù)緊湊技術(shù)的缺點:增加了系統(tǒng)的開銷移動已分配的內(nèi)存區(qū)域會花費處理器大量的時間。影響進(jìn)程正常運行當(dāng)系統(tǒng)進(jìn)行緊湊時,必須停止所有進(jìn)程的執(zhí)行。外設(shè)與內(nèi)存交換數(shù)據(jù)的進(jìn)程,不可隨便移動實時操作系統(tǒng),會影響實時任務(wù)的完成。需要重新定義內(nèi)存地址在緊湊之后,作業(yè)在內(nèi)存中的地址發(fā)生了變化,需要重新定義內(nèi)存地址。1/17/202332《計算機(jī)操作系統(tǒng)》-第6章1/17/202333《計算機(jī)操作系統(tǒng)》-第6章6.1.5對換技術(shù)當(dāng)內(nèi)存空間緊張時,將某些暫時不運行的進(jìn)程從內(nèi)存移到外存,并將內(nèi)存空間分配給其他進(jìn)程或新創(chuàng)建的進(jìn)程;當(dāng)內(nèi)存空間富余時再給被移出到外存的進(jìn)程重新分配內(nèi)存,讓進(jìn)程進(jìn)入內(nèi)存,這樣的方式稱為對換技術(shù)。對換技術(shù)是為了提高系統(tǒng)的性能和多道度而采取的進(jìn)程在內(nèi)存和外存之間的換出與換入。1/17/202334《計算機(jī)操作系統(tǒng)》-第6章對換技術(shù)對換的引入所有可運行的進(jìn)程必須小于內(nèi)存空間當(dāng)進(jìn)程處于阻塞或就緒時交換到磁盤進(jìn)程在運行過程中將多次進(jìn)出內(nèi)存進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程A操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C未用內(nèi)存區(qū)操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C未用內(nèi)存區(qū)操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程B進(jìn)程C進(jìn)程D進(jìn)程D操作系統(tǒng)未用內(nèi)存區(qū)進(jìn)程C未用內(nèi)存區(qū)1/17/202335《計算機(jī)操作系統(tǒng)》-第6章存儲器系統(tǒng)包括哪些基本層次?層次之間的關(guān)系是怎樣的?解釋邏輯地址和物理地址;為什么要實現(xiàn)地址變換?什么是緊湊技術(shù)?該技術(shù)有何缺點?覆蓋技術(shù)和對換技術(shù)有何不同?問題1/17/202336《計算機(jī)操作系統(tǒng)》-第6章本章目錄6.1存儲器管理概述6.2連續(xù)存儲空間管理單一連續(xù)分配固定分區(qū)分配可變分區(qū)分配6.3分頁式存儲管理6.4分段式存儲管理1/17/202337《計算機(jī)操作系統(tǒng)》-第6章引起內(nèi)存分配和回收的原因進(jìn)程的開始的結(jié)束。進(jìn)程運行的過程中,它所占用的內(nèi)存也可能發(fā)生變化,如棧的變化。進(jìn)程映像在內(nèi)存和外存之間傳遞。由于內(nèi)存有限,系統(tǒng)中不可能容納所有進(jìn)程,有些進(jìn)程的映像可以存放在外存,當(dāng)要運行這些進(jìn)程時,必須把它們調(diào)入內(nèi)存。系統(tǒng)為了充分利用內(nèi)存空間,有時可能對內(nèi)存空間進(jìn)行調(diào)整。1/17/202338《計算機(jī)操作系統(tǒng)》-第6章存儲保護(hù)
上、下界存儲保護(hù):上、下界保護(hù)是一種簡單的存儲保護(hù)技術(shù)。系統(tǒng)可為每個作業(yè)設(shè)置一對上、下界寄存器,分別用來存放當(dāng)前運行作業(yè)在內(nèi)存空間的上、下邊界地址,用它們來限制用戶程序的活動范圍。
基址—限長存儲保護(hù):上、下界保護(hù)的一個變種是采用基址-限長存儲保護(hù)。
上下界保護(hù)基址-限長保護(hù)1/17/202339《計算機(jī)操作系統(tǒng)》-第6章6.2.1
單一連續(xù)分配最簡單的管理方式(只有分配與回收)操作系統(tǒng)和用戶程序共享RAM除了嵌入式系統(tǒng)外,其他的計算機(jī)不再使用這種方式用戶程序RAM中的OS用戶程序ROM中的OS用戶程序RAM中的OSROM:DEV早期大型機(jī)使用的內(nèi)存管理方式少數(shù)掌上電腦和嵌入式系統(tǒng)使用的內(nèi)存管理方式早期PC使用的內(nèi)存管理方式(MS-DOS)1/17/202340《計算機(jī)操作系統(tǒng)》-第6章6.2.2
固定分區(qū)分配早期支持多道程序的管理方式將用戶可使用內(nèi)存區(qū)劃分為固定大小,根據(jù)作業(yè)長度分配內(nèi)存支持多道程序的大型機(jī)使用,目前幾乎不再使用可用分區(qū)1RAM中的OS可用分區(qū)2可用分區(qū)3分區(qū)號起始地址終止地址分區(qū)大小分區(qū)1100K200K100K分區(qū)2200K400K200K分區(qū)3400K700K300K1/17/202341《計算機(jī)操作系統(tǒng)》-第6章固定分區(qū)分配有n個分區(qū),則可同時裝入n個作業(yè)/任務(wù)。分區(qū)大?。合嗟炔幌嗟?,利用率較高內(nèi)存分配:數(shù)據(jù)結(jié)構(gòu)將分區(qū)按大小排序,并將其地址、分配標(biāo)識作記錄特點:簡單有碎片(內(nèi)零頭)1/17/202342《計算機(jī)操作系統(tǒng)》-第6章固定分區(qū)分配分區(qū)號大小(K)起址(K)狀態(tài)11220已分配23232已分配36464已分配4128128已分配操作系統(tǒng)作業(yè)A作業(yè)B作業(yè)C24K32K64K128K256K~~分配情況1/17/202343《計算機(jī)操作系統(tǒng)》-第6章固定分區(qū)分配分區(qū)號大小(K)起址(K)狀態(tài)11220已分配23232已分配36464已分配4128128已分配操作系統(tǒng)作業(yè)A作業(yè)B作業(yè)C24K32K64K128K256K~~分配情況性能分析
在作業(yè)大小和出現(xiàn)頻率均已知的情況下,固定分區(qū)是合適的。在這種情況下分區(qū)的大小選擇與作業(yè)大小相當(dāng),這樣內(nèi)存的使用效率較高。但是若作業(yè)的大小和出現(xiàn)的頻率不知道時,勢必造成分區(qū)的大小和作業(yè)的大小相差甚遠(yuǎn),這樣就會造成存儲空間的浪費,從而影響整個系統(tǒng)的效率。
1/17/202344《計算機(jī)操作系統(tǒng)》-第6章固定分區(qū)分配內(nèi)存分配與回收多隊列最優(yōu)適配、最小適配、合理適配(種種變化)內(nèi)存回收機(jī)制非常簡單,只需要進(jìn)行分區(qū)表操作內(nèi)存地址的重定位與保護(hù)最簡單的策略:在調(diào)入內(nèi)存時直接修改指令最嚴(yán)格的辦法:密碼校驗,PSW的使用最普遍的做法:引入硬件基址和界限存儲器1/17/202345《計算機(jī)操作系統(tǒng)》-第6章6.2.3
可變分區(qū)分配要點在運行的過程中建立分區(qū)使分區(qū)的大小剛好與作業(yè)
的大小相等空閑分區(qū)的組織方式分配的三種情況分配算法回收方法空閑區(qū)表或隊列的排序按空閑區(qū)首址遞增的次序按空閑區(qū)大小的遞增或遞減次序無滿足要求的空閑區(qū)空閑區(qū)大小=SIZE空閑區(qū)大小>SIZE首次適應(yīng):地址遞增最佳適應(yīng):大小遞增最壞適應(yīng):大小遞減上相鄰下相鄰上下均相鄰上下均不相鄰1/17/202346《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配在系統(tǒng)運行的過程中建立分區(qū),并使分區(qū)的大小剛好與作業(yè)的大小相等。可解決固定分區(qū)嚴(yán)重浪費內(nèi)存的問題。是一種較為實用的存儲管理方法。要解決的問題數(shù)據(jù)結(jié)構(gòu)分區(qū)分配算法分區(qū)分配操作1/17/202347《計算機(jī)操作系統(tǒng)》-第6章描述分區(qū)的數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)在動態(tài)分區(qū)存儲管理中,要有相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來登記空閑區(qū)的說明信息,它包括空閑區(qū)的大小和位置。不同系統(tǒng)根據(jù)設(shè)計要求采用不同的結(jié)構(gòu)。常用的有表結(jié)構(gòu)和隊列結(jié)構(gòu)。系統(tǒng)還要設(shè)置了等待分區(qū)隊列,當(dāng)系統(tǒng)中無空閑區(qū)或無滿足要求的空閑區(qū)時,則把申請者送入等待隊列中,等待別的進(jìn)程釋放內(nèi)存之后再喚醒隊列中的進(jìn)程。1/17/202348《計算機(jī)操作系統(tǒng)》-第6章描述分區(qū)的數(shù)據(jù)結(jié)構(gòu)1/17/202349《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分配算法在采用分區(qū)存儲管理的系統(tǒng)中,系統(tǒng)初啟后,除操作系統(tǒng)占用一個分區(qū)外,其余存儲區(qū)為一個大的空閑區(qū)。分區(qū)的分配是指系統(tǒng)根據(jù)用戶的請求,在空閑區(qū)表或空閑區(qū)隊列中尋找一個滿足用戶要求的空閑區(qū),把這個空閑區(qū)分配給用戶。以空閑區(qū)表為例,當(dāng)用戶要求一個大小為SIZE的存儲空間時,系統(tǒng)查詢空閑區(qū)表,找一個大于或等于SIZE的空閑區(qū)。1/17/202350《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分配算法
空閑區(qū)表或隊列的排序
按空閑區(qū)首址遞增的次序
按空閑區(qū)大小的遞增或遞減次序1/17/202351《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的三種情況系統(tǒng)中無滿足要求的空閑區(qū),則分配失敗??臻e區(qū)大小與SIZE相等,則修改空閑區(qū)表相應(yīng)表目,向用戶返回該空閑區(qū)首址,表示此空閑區(qū)已分給了要求的用戶??臻e區(qū)大于SIZE,這時將空閑區(qū)一分為二。1/17/202352《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的三種情況策略一:從空閑區(qū)的上部開始劃出SIZE大小的空閑區(qū)給用戶;策略二:從空閑區(qū)的底部開始向上劃出SIZE大小的空閑區(qū)給用戶。一般常采用第二種辦法,因為這樣劃分時,余下的部分在空閑區(qū)表中的首地址不變,只需要修改一下大小就行了。1/17/202353《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法首次適應(yīng)算法FF:原理、優(yōu)點、缺點要求空閑區(qū)按首址遞增的次序組織空閑區(qū)表(隊列)循環(huán)首次適應(yīng)算法:原理、優(yōu)點、缺點最佳適應(yīng)算法:原理、優(yōu)點、缺點要求按空閑區(qū)大小從小到大的次序組成空閑區(qū)表(隊列)。最壞適應(yīng)算法:原理、優(yōu)點、缺點要求空閑區(qū)按大小遞減的順序組織空閑區(qū)表(或隊列)。1/17/202354《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:首次適應(yīng)法分配:當(dāng)進(jìn)程申請大小為SIZE的內(nèi)存時,系統(tǒng)從空閑區(qū)表的第一個表目開始查詢,直到首次找到等于或大于SIZE的空閑區(qū)。從該區(qū)中劃出大小為SIZE的分區(qū)分配給進(jìn)程,余下的部分仍作為一個空閑區(qū)留在空閑區(qū)表中,但要修改其首址和大小?;厥眨喊瘁尫艆^(qū)的首址,查詢空閑區(qū)表,若有與釋放區(qū)相鄰的空閑區(qū),則合并到相鄰的空閑區(qū)中,并修改該區(qū)的大小和首址,否則,把釋放區(qū)作為一個空閑區(qū),將其大小和首址按照首地址大小遞增的順序插入到空閑區(qū)表的適當(dāng)位置。1/17/202355《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:首次適應(yīng)法注意:每次分配和回收后空閑區(qū)表或空閑區(qū)隊列都要按首址遞增的次序排序。首次適應(yīng)法的優(yōu)點:釋放某一存儲區(qū)時,若與空閑區(qū)相鄰則合并到相鄰空閑分區(qū)中去,這種情況并不改變該區(qū)在表中的位置,只要修改其大小或首址。這種算法是盡可能地利用低地址空間,從而保證高地址空間有較大的空閑區(qū)。
1/17/202356《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:最佳適應(yīng)法分配:當(dāng)進(jìn)程申請一個存儲區(qū)時,系統(tǒng)從表頭開始查找,當(dāng)找到第一個滿足要求的空閑區(qū)時,停止查找,并且這個空閑區(qū)是最佳的空閑區(qū)。所謂最佳即選中的空閑區(qū)是滿足要求的最小空閑區(qū)?;厥眨喊瘁尫艆^(qū)的首址,查詢空閑區(qū)表(隊列),若有與釋放區(qū)相鄰的空閑區(qū),則合并到相鄰的空閑區(qū)中,并修改該區(qū)的大小和首址,否則,把釋放區(qū)作為一個空閑區(qū)插入空閑區(qū)表(隊列)。分配和回收后要對空閑區(qū)表(隊列)重新排序。1/17/202357《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:最佳適應(yīng)法優(yōu)點:在系統(tǒng)中若存在一個與申請分區(qū)大小相等的空閑區(qū),必定會被選中,而首次適應(yīng)法則不一定。若系統(tǒng)中不存在與申請分區(qū)大小相等的空閑區(qū),則選中的空閑區(qū)是滿足要求的最小空閑區(qū),而不致于毀掉較大的空閑區(qū)。缺點:空閑區(qū)的大小一般與申請分區(qū)大小不相等,因此將其一分為二,留下來的空閑區(qū)一般情況下是很小的,以致無法使用。隨著時間的推移,系統(tǒng)中的小空閑區(qū)會越來越多,從而造成存儲區(qū)的大量浪費。
1/17/202358《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:最壞適應(yīng)法分配:進(jìn)程申請一個大小為SIZE的存儲區(qū)時,總是檢查空閑區(qū)表的第一個空閑區(qū)的大小是否大于或等于SIZE。若空閑區(qū)小于SIZE,則分配失??;否則從空閑區(qū)中分配SIZE的存儲區(qū)給用戶,然后修改和調(diào)整空閑區(qū)表。回收:按釋放區(qū)的首址,查詢空閑區(qū)表(隊列),若有與釋放區(qū)相鄰的空閑區(qū),則合并到相鄰的空閑區(qū)中,并修改該區(qū)的大小和首址,否則,把釋放區(qū)作為一個空閑區(qū)插入空閑區(qū)表(隊列)。分配和回收后要對空閑區(qū)表(隊列)重新排序。1/17/202359《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分區(qū)分配的算法:最壞適應(yīng)法最壞適應(yīng)法看起來公似乎有些荒唐,但在更加嚴(yán)密地考察后,還是有它的優(yōu)點:
當(dāng)程序裝入內(nèi)存中最大的空閑區(qū)后,剩下的空閑區(qū)還可能相當(dāng)大,還能裝下較大的程序。
另一方面每次僅作一次查詢工作。1/17/202360《計算機(jī)操作系統(tǒng)》-第6章分配方法舉例分配前的狀態(tài)1/17/202361《計算機(jī)操作系統(tǒng)》-第6章首次適應(yīng)法分配后的狀態(tài)1/17/202362《計算機(jī)操作系統(tǒng)》-第6章最佳適應(yīng)法分配后的狀態(tài)1/17/202363《計算機(jī)操作系統(tǒng)》-第6章最壞適應(yīng)法分配后的狀態(tài)1/17/202364《計算機(jī)操作系統(tǒng)》-第6章不同分配算法的對比分配前的狀態(tài)首次分配最佳分配最壞分配1/17/202365《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配分配算法的分析分配算法各有利弊,到底哪種最好不能一概而論,而應(yīng)針對具體作業(yè)序列來分析。對于某一作業(yè)序列來說,某種算法能將該作業(yè)序列中所有作業(yè)安置完畢,那么我們說該算法對這一作業(yè)序列是合適的。對于某一算法而言,如它不能立即滿足某一要求,而其它算法卻可以滿足此要求,則這一算法對該作業(yè)序列是不合適的。1/17/202366《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配
碎片問題由于空閑區(qū)的大小與申請內(nèi)存的大小相等的情況是很少的,絕大多數(shù)情況是從一個空閑區(qū)中切去一塊,剩下的部分作為一個空閑區(qū)仍留在空閑區(qū)表中,隨著時間的推移,空閑區(qū)的發(fā)展趨勢是越來越小,直至不能滿足任何用戶要求。這種不能被任何用戶使用的極小的空閑區(qū)稱為碎片。碎片的出現(xiàn)造成了存儲空間的浪費。1/17/202367《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配解決方案規(guī)定門限值(由操作系統(tǒng)規(guī)定,如1K),分割空閑區(qū)時,若剩余部分小于門限值,則不再分割此空閑區(qū)。定期壓縮存儲空間,將所有空閑區(qū)集中到內(nèi)存的一端,但這種方法的系統(tǒng)開銷太大。1/17/202368《計算機(jī)操作系統(tǒng)》-第6章可變分區(qū)分配內(nèi)存分配流程圖1/17/202369《計算機(jī)操作系統(tǒng)》-第6章分區(qū)回收內(nèi)存回收F1回收區(qū)F2回收區(qū)F2F1回收區(qū)F1回收區(qū)F21/17/202370《計算機(jī)操作系統(tǒng)》-第6章碎片的產(chǎn)生固定分區(qū)-碎片(內(nèi)零頭)動態(tài)分區(qū)-外部零頭碎片的處理思考1/17/202371《計算機(jī)操作系統(tǒng)》-第6章關(guān)于內(nèi)存空間的分配與回收如何定義內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)?如何設(shè)計內(nèi)存管理的基本算法?關(guān)于內(nèi)存空間的共享和保護(hù)你能夠想象到哪些硬件保護(hù)機(jī)制?你能夠想象到哪些軟件保護(hù)機(jī)制?關(guān)于內(nèi)存空間的擴(kuò)充你能夠想象到哪些可以運行大程序的方法?關(guān)于內(nèi)存管理面臨的性能問題有哪些性能參數(shù)?如何保證內(nèi)存管理的性能?思考1/17/202372《計算機(jī)操作系統(tǒng)》-第6章課堂練習(xí):可變分區(qū)分配例1:有作業(yè)序列:作業(yè)A要求18K;作業(yè)B要求25K,作業(yè)C要求30K。系統(tǒng)中空閑區(qū)按不同算法組成的空閑區(qū)隊列1/17/202373《計算機(jī)操作系統(tǒng)》-第6章課堂練習(xí):可變分區(qū)分配例1:有作業(yè)序列:作業(yè)A要求18K;作業(yè)B要求25K,作業(yè)C要求30K。系統(tǒng)中空閑區(qū)按不同算法組成的空閑區(qū)隊列經(jīng)分析可知:最佳適應(yīng)法對這個作業(yè)序列是合適的,而其它算法對該作業(yè)序列是不合適的。經(jīng)分析可知:最佳適應(yīng)法對這個作業(yè)序列是合適的,而其它算法對該作業(yè)序列是不合適的。1/17/202374《計算機(jī)操作系統(tǒng)》-第6章課堂練習(xí):可變分區(qū)分配有作業(yè)序列:作業(yè)A要求21K;作業(yè)B要求30K,作業(yè)C要求25K。1/17/202375《計算機(jī)操作系統(tǒng)》-第6章課堂練習(xí):可變分區(qū)分配已知主存有256KB容量,其中OS占用低址20KB,可以有這樣的一個作業(yè)序列:作業(yè)1要求80KB;作業(yè)2要求16KB;作業(yè)3要求140KB;作業(yè)1完成;作業(yè)3完成;作業(yè)4要求80KB;作業(yè)5要求120KB。試用首次適應(yīng)算法和最佳適應(yīng)算法分別處理上述作業(yè)序列(在存儲分配時,從空白區(qū)高址處分割作為已分配區(qū)),并完成以下各步:(1)畫出作業(yè)1、2、3進(jìn)入主存后,主存的分配情況。(2)作業(yè)1、3完成后,畫出主存分配情況。(3)畫出兩種算法中空白區(qū)的分區(qū)描述器信息(假定分區(qū)描述器所需占用的字節(jié)數(shù)已包含在作業(yè)所要求的主存容量中)及空白區(qū)鏈接情況。(4)哪種算法對該作業(yè)序列而言是適合的?1/17/202376《計算機(jī)操作系統(tǒng)》-第6章本章目錄6.1存儲器管理概述6.2連續(xù)存儲空間管理6.3分頁式存儲管理分頁存儲管理的基本原理頁表地址變換機(jī)構(gòu)快表多級頁表反置頁表頁面共享和保護(hù)6.4分段式存儲管理1/17/202377《計算機(jī)操作系統(tǒng)》-第6章連續(xù)分配方式碎片緊湊代價6.3分頁式存儲管理離散分配方式分頁分段段頁式基本的分頁存儲管理方式(純分頁存儲管理方式)分頁技術(shù)是由曼徹斯特大學(xué)提出,并于1960年前后在Atlas計算機(jī)上實現(xiàn)。這種技術(shù)對操作系統(tǒng)的發(fā)展產(chǎn)生了深遠(yuǎn)影響。1/17/202378《計算機(jī)操作系統(tǒng)》-第6章用戶程序劃分把用戶程序按邏輯頁劃分成大小相等的部分,稱為頁(page)。從0開始編制頁號,頁內(nèi)地址是相對于0編址。邏輯地址用戶程序的劃分是由系統(tǒng)自動完成的,對用戶是透明的。通常,一頁的大小為2的整數(shù)次冪。因此,地址的高位部分為頁號,低位部分為頁內(nèi)地址6.3.1分頁存儲管理基本思想1/17/202379《計算機(jī)操作系統(tǒng)》-第6章內(nèi)存空間按頁的大小劃分為大小相等的區(qū)域,稱為塊或內(nèi)存塊(物理頁面,頁框)內(nèi)存分配以頁為單位進(jìn)行分配,并按作業(yè)的頁數(shù)多少來分配。邏輯上相鄰的頁,物理上不一定相鄰分頁存儲管理基本思想1/17/202380《計算機(jī)操作系統(tǒng)》-第6章頁地址映射頁表
頁大小的選擇
頁地址映射
分頁存儲管理中的信息保護(hù)
快表和聯(lián)想存儲器兩級頁表和多級頁表
1/17/202381《計算機(jī)操作系統(tǒng)》-第6章6.3.2頁表內(nèi)容頁表包含以下幾個表項:頁號:登記程序地址空間的頁號。塊號:登記相應(yīng)的頁所對應(yīng)的內(nèi)存塊號其它:登記與存儲信息保護(hù)有關(guān)的信息。頁號塊號其它05…165…213…1/17/202382《計算機(jī)操作系統(tǒng)》-第6章頁面頁面和物理塊:邏輯空間和內(nèi)存空間由機(jī)器的地址結(jié)構(gòu)決定頁太大,頁內(nèi)碎片大。頁太小:頁表可能很長,換入/出效率低地址結(jié)構(gòu)
31
1211
0設(shè):邏輯地址A;頁大小L(設(shè)為1024);頁內(nèi)偏移d;頁號P P=INT(A/L)d=AmodL
如:A=2170B.則P=2,d=122
頁面與頁表頁號P位移W1/17/202383《計算機(jī)操作系統(tǒng)》-第6章頁面與頁表設(shè):邏輯地址A;頁大小L(設(shè)為1024);頁內(nèi)偏移d;頁號P P=INT(A/L)d=AmodL又如:頁面大小為4KB的系統(tǒng)中,若邏輯地址為28024,則由上式求得頁號為6,頁內(nèi)偏移量為3448。如何得到頁號和頁內(nèi)地址呢?
28024的二進(jìn)制用32位表示為:
00000000000000000110110101111000
因為頁面大小為4KB,則取低12位為頁內(nèi)地址,剩余高位是頁號。1/17/202384《計算機(jī)操作系統(tǒng)》-第6章頁面與頁表0頁1頁2頁3頁4頁5頁n頁021326384950123456789用戶程序頁表頁號塊號內(nèi)存1/17/202385《計算機(jī)操作系統(tǒng)》-第6章6.3.3地址變換機(jī)構(gòu)
完成以下任務(wù):邏輯頁號——物理塊號的映射,由頁表完成?;镜刂纷儞Q機(jī)構(gòu): 越界保護(hù)每個進(jìn)程對應(yīng)一頁表,其信息(如長度、始址)放在PCB中,執(zhí)行時將其首地址裝入頁表寄存器。1/17/202386《計算機(jī)操作系統(tǒng)》-第6章分頁系統(tǒng)的地址變換機(jī)構(gòu)
地址變換機(jī)構(gòu)1/17/202387《計算機(jī)操作系統(tǒng)》-第6章
①頁號3與頁表寄存器中的頁表長度比較判斷是否越界,如果越界,則轉(zhuǎn)錯誤中斷處理,否則轉(zhuǎn)②;1/17/202388《計算機(jī)操作系統(tǒng)》-第6章
②頁表中該項在內(nèi)存中的對應(yīng)地址=頁表始地址R+頁號3×頁表項長度i,訪問該地址R+3i,得到物理塊號11;1/17/202389《計算機(jī)操作系統(tǒng)》-第6章
③11(塊號)×1024(塊大小)+723(頁內(nèi)地址)=11987(物理地址);1/17/202390《計算機(jī)操作系統(tǒng)》-第6章
④訪問內(nèi)存11987單元,得到需要的數(shù)據(jù)365。1/17/202391《計算機(jī)操作系統(tǒng)》-第6章6.3.4快表具有快表的地址變換機(jī)構(gòu)不具快表,則需兩次訪問內(nèi)存。第一次:訪問頁表第二次:得到絕對地址內(nèi)容有快表,速度提高??毂碣F,不能太多。1/17/202392《計算機(jī)操作系統(tǒng)》-第6章快表1/17/202393《計算機(jī)操作系統(tǒng)》-第6章快表例:有一頁式系統(tǒng),其頁表存放在主存中: ①如果對主存的一次存取需要1.5μs,試問實現(xiàn)一次頁面訪問的存取時間是多少? ②如果系統(tǒng)加有快表,平均命中率為85%,當(dāng)頁表項在快表中時,其查找時間忽略為0,試問此時的存取時間是多少?1/17/202394《計算機(jī)操作系統(tǒng)》-第6章答:若頁表存放在主存中,則要實現(xiàn)一次頁面訪問需兩次訪問主存:一次是訪問頁表,確定所存取頁面的物理地址(稱為定位)。第二次才根據(jù)該地址存取頁面數(shù)據(jù)。頁表在主存的存取訪問時間
=
1.5*2
=3(μs)增加快表后的存取訪問時間
=
0.85*1.5+(1-0.85)*2*1.5
=
1.725(μs)快表1/17/202395《計算機(jī)操作系統(tǒng)》-第6章6.3.5兩級和多級頁表
頁表可能很大,將其離散存放在不同頁塊中。建一“外部頁表”來管理這些離散頁表塊。相當(dāng)于單級頁表中的頁表寄存器,一般應(yīng)常駐內(nèi)存。每項記錄頁表始址,且增加存在位。64位機(jī)器頁表一般>3級,最外層頁表常駐。1/17/202396《計算機(jī)操作系統(tǒng)》-第6章兩級和多級頁表
1/17/202397《計算機(jī)操作系統(tǒng)》-第6章舉例例:某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內(nèi)存為16KB。假定某時刻一用戶頁表中已調(diào)入內(nèi)存的頁面對應(yīng)的物理塊號如下表:頁號物理塊號051102437則邏輯地址0A5C(H)所對應(yīng)的物理地址為:125C1/17/202398《計算機(jī)操作系統(tǒng)》-第6章0A5C=0000,1010,0101,1100
=0000,1010,0101,1100頁號為2,對應(yīng)塊號為4,有:物理地址:0001,0010,0101,1100即:125C舉例1/17/202399《計算機(jī)操作系統(tǒng)》-第6章分頁存儲管理方案的評價優(yōu)點:便于多道程序設(shè)計,提高了內(nèi)存的利用率,而不必像動態(tài)分區(qū)分配那樣執(zhí)行緊湊操作。缺點1:采用動態(tài)地址映射會增加計算機(jī)成本和降低處理機(jī)的速度。缺點2:各種表格要占用一定容量的內(nèi)存空間,而且還要花費一部分處理機(jī)時間來建立和管理這些表格。缺點3:雖然消除了大量碎片,但每個作業(yè)的最后一頁一般都有不能充分利用的空白區(qū);減少頁面大小,可以減少內(nèi)存的浪費,但頁表的長度又增加了,這也是一個矛盾。缺點4:存儲擴(kuò)充問題仍未得到解決。當(dāng)沒有足夠空間能裝下整個作業(yè)地址空間時,該作業(yè)還是無法運行。1/17/2023100《計算機(jī)操作系統(tǒng)》-第6章一維虛擬存儲管理--分頁式邏輯地址、虛擬地址、物理地址一個程序經(jīng)編譯得到的指令地址空間,叫做邏輯地址空間當(dāng)邏輯地址空間大于物理地址空間時,叫做虛擬地址空間邏輯地址空間—虛擬地址空間—MMU單元—物理地址空間1/17/2023101《計算機(jī)操作系統(tǒng)》-第6章一維虛擬存儲管理--分頁式分頁式存儲管理的核心思想制定統(tǒng)一的地址空間描述機(jī)制:頁與頁表對邏輯地址而言,使用分頁機(jī)制實現(xiàn)對虛擬地址空間的劃分對物理地址而言:使用分頁機(jī)制實現(xiàn)對物理地址空間的管理虛擬存儲的核心思想:以頁為基本單位,不同地址空間的轉(zhuǎn)換和映射1/17/2023102《計算機(jī)操作系統(tǒng)》-第6章一維虛擬存儲管理--分頁式分頁式存儲管理的困難和問題地址映射與保護(hù):如何快速、有效的實現(xiàn)地址映射?虛擬存儲的關(guān)鍵:如何實現(xiàn)頁面的置換?如何保證程序運行的效率?1/17/2023103《計算機(jī)操作系統(tǒng)》-第6章二維虛擬存儲管理--分段式分頁式虛擬存儲管理的難題設(shè)計與實現(xiàn)機(jī)制復(fù)雜,需要軟件和硬件的精妙配合影響性能因素多樣化,保證存儲體系的高效很困難僅從計算機(jī)角度出發(fā),人難以理解、監(jiān)控和管理1/17/2023104《計算機(jī)操作系統(tǒng)》-第6章二維虛擬存儲管理--分段式分段式存儲管理思想的產(chǎn)生遵循程序的邏輯化特性,將其分為不同的“段”,易于理解和監(jiān)控繼承虛擬地址的思想,以“段號+段內(nèi)偏移”實現(xiàn)地址映射對物理內(nèi)存進(jìn)行一維分割,內(nèi)存使用則體現(xiàn)二維邏輯性1/17/2023105《計算機(jī)操作系統(tǒng)》-第6章二維虛擬存儲管理--分段式分段式存儲的優(yōu)點和缺點優(yōu)點1:存儲管理過程簡單、靈活簡便的適應(yīng)各類程序優(yōu)點2:易于程序的編譯、鏈接,易于不同程序間的共享缺點:管理粒度較大,操作系統(tǒng)的管理職能不深入,無法保證穩(wěn)定性1/17/2023106《計算機(jī)操作系統(tǒng)》-第6章反置頁表的基本原理分頁方式中的共享與保護(hù)問題1/17/2023107《計算機(jī)操作系統(tǒng)》-第6章本章目錄6.1存儲器管理概述6.2連續(xù)存儲空間管理6.3分頁式存儲管理6.4分段式存儲管理分段存儲管理段表和地址變換機(jī)構(gòu)分段與分頁的區(qū)別具有分頁的分段段的共享和保護(hù)1/17/2023108《計算機(jī)操作系統(tǒng)》-第6章引入
每個段可有其邏輯意義及功能,使得便于:方便編程分段共享分段保護(hù)動態(tài)增長(如數(shù)據(jù)段的增長)動態(tài)鏈接1/17/2023109《計算機(jī)操作系統(tǒng)》-第6章分段系統(tǒng)的基本原理分段在分段式存儲管理中,段名用段號代替,段地址從0開始編址,因為各段的邏輯信息內(nèi)容不同,所以段長度不同。當(dāng)一個用戶程序裝入內(nèi)存時,系統(tǒng)為每個段分配一個連續(xù)的內(nèi)存區(qū)域,而各個段之間可以離散存放。1/17/2023110《計算機(jī)操作系統(tǒng)》-第6章6.4.1分段系統(tǒng)的基本原理
分段:對用戶而言,分段是2維的。段號+段內(nèi)地址。段表:邏輯段—map—物理段地址變換機(jī)構(gòu)分頁與分段:頁是信息的物理單位,段是邏輯單位頁長度固定,段長度不固定(由用戶指定)一維與二維
1/17/2023111《計算機(jī)操作系統(tǒng)》-第6章分段系統(tǒng)的基本原理
1/17/2023112《計算機(jī)操作系統(tǒng)》-第6章分段系統(tǒng)的基本原理
1/17/2023113《計算機(jī)操作系統(tǒng)》-第6章6.4.2地址變換機(jī)構(gòu)
①段號3與段表寄存器存放的段表長度比較以判斷是否越界,如果越界,則轉(zhuǎn)錯誤中斷處理,否則轉(zhuǎn)②;1/17/2023114《計算機(jī)操作系統(tǒng)》-第6章6.4.2地址變換機(jī)構(gòu)
②計算:段表始地址+段號×段表項長度,得到段表中3號段這一項在內(nè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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目推廣演講致辭稿
- 個人車輛掛靠租賃公司協(xié)議書
- 2025年柳州a2貨運從業(yè)資格證模擬考試題
- 2025年南京貨運從業(yè)資格證考試模擬考試題庫答案大全
- 小學(xué)英語試卷聽力稿
- 書籍設(shè)計印刷合同范本文檔
- 個體診所自查報告
- 廈門落戶中介合同范本
- 業(yè)務(wù)員個人年度工作總結(jié)
- 三年級語文備課組工作總結(jié)
- 2017年公務(wù)員多省聯(lián)考《申論》真題(吉林甲級卷)及參考答案(含詳細(xì)解析)
- 《水利工程質(zhì)量檢測管理規(guī)定》知識培訓(xùn)
- 2025年02月貴州省司法廳所屬事業(yè)單位公開招聘2人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 2025年校長春季開學(xué)思政第一課講話稿1720字例文【供參考】
- 2025至2030年中國單板電磁制動器數(shù)據(jù)監(jiān)測研究報告
- 2024年07月國新國證期貨有限責(zé)任公司(海南)2024年招考2名工作人員筆試歷年參考題庫附帶答案詳解
- 2021年考研英語一真題
- 人教版數(shù)學(xué)八年級下冊 第17章 勾股定理 單元測試(含答案)
- 國網(wǎng)標(biāo)書制作流程
- 六年級語文教學(xué)學(xué)情分析提高六語文質(zhì)量的措施
- 中醫(yī)藥臨床適宜技術(shù)
評論
0/150
提交評論