資源描述:
《存儲器管理 target=_blank》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、存儲器管理target=_blank第四章存儲器管理一、存儲器的層次三級存儲器結(jié)構(gòu),參看教材99頁圖4-2。理解高速緩存器是為了提高計算機運算速度、增強處理能力而采用的技術,它的出現(xiàn)緩解了內(nèi)存的壓力及內(nèi)、外存存取速度不匹配的矛盾。二、用戶程序的主要處理階段用戶的源程序(用高級語言或匯編語言編寫的程序)進入計算機系統(tǒng),到該程序在計算機上運行,主要經(jīng)歷5個處理階段。1、編輯階段利用計算機提供的編輯程序,入UNIX中的vi,將用戶編好的程序輸入到計算機內(nèi)。生成源程序文件,如:file1.c。2、編譯階段把源程序經(jīng)過翻譯或匯編處理,生成目標代碼。編譯過
2、程即把高級語言翻譯成計算機理解的低級語言。目標代碼文件為file1.o。3、連接階段將編譯后得到的一組目標模塊以及它們所需的庫函數(shù)裝配成一個完整的裝入模塊。4、裝入階段將裝入模塊放入分到的內(nèi)存區(qū)中。這時需要進行重定位,即將裝入模塊的邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的實際物理地址。5、運行階段運行可執(zhí)行的程序file1.exe。三、存儲器管理的相關概念--邏輯地址、物理地址、重定位邏輯地址--用戶程序經(jīng)編譯后,每個目標模塊以0為基地址進行的順序編址。邏輯地址又稱相對地址,相對基地址而言,。物理地址--內(nèi)存中各物理存儲單元的地址從統(tǒng)一的基地址進行的順序編址。物理
3、地址又稱絕對地址,它是數(shù)據(jù)在內(nèi)存中的實際存儲地址。重定位--把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的物理地址的過程。根據(jù)重定位時機的不同,又分為靜態(tài)重定位(裝入內(nèi)存時重定位)和動態(tài)重定位(程序執(zhí)行時重定位)。四、實存管理1、單一連續(xù)區(qū)分配最簡單的存儲分配方法是單一連續(xù)分區(qū),即整個主存區(qū)域的用戶空間均歸一個用戶作業(yè)使用。2、分區(qū)管理由于多道程序設計技術的產(chǎn)生,幾個作業(yè)得以共享主存儲區(qū),因此可以采取分區(qū)法分配內(nèi)存。分區(qū)法通常有:(1)固定分區(qū)在系統(tǒng)建立時確定每個分區(qū)的大小及分區(qū)的個數(shù);(2)動態(tài)分區(qū)在轉(zhuǎn)入作業(yè)時確定分區(qū)的個數(shù)及每個分區(qū)的大??;回收分區(qū)時,合并相鄰空閑
4、分區(qū)從而避免分區(qū)越來越小;(3)可重定位分區(qū)在裝入作業(yè)時,根據(jù)需要及時地將空閑存儲區(qū)拼接在一起,以消除碎片,滿足作業(yè)對存儲空間的要求;解決碎片的方法是移動所有的占有區(qū)域,以使所有的空閑區(qū)域連成一片,這個過程稱作緊湊。緊湊的開銷很大,因為它不僅要修改被移動進程的地址信息,而且要復制進程空間,所以如不必要,盡量不做緊湊;通常僅在系統(tǒng)接收到進程所發(fā)出的申請命令,且每個空閑區(qū)域單獨均不能滿足,但所有空閑區(qū)域的和能夠滿足時才進行一次緊湊。3、對換當主存空間不能滿足作業(yè)要求時,通過對換技術來解決。對換是指系統(tǒng)把內(nèi)存中暫時不能運行的進程換出到外存上,騰出空間
5、,把具備運行條件的進程從外存換入內(nèi)存。對換是以時間來換取空間,減少對換的信息量和時間是設計時要考慮的問題。五、虛存組織虛擬存儲器(VirtualMemory)是一種存儲管理技術,用以完成用小的內(nèi)存實現(xiàn)在大的虛空間中程序的運行工作。虛擬存儲器是由操作系統(tǒng)提供的一個假想的特大存儲器。虛擬存儲器所具有的基本特征是:(1)虛擬擴充:不是物理上、而是邏輯上擴充了內(nèi)存容量;(2)部分裝入:每個作業(yè)不是全部一次性地裝入內(nèi)存,而是只裝入一部分;(3)離散分配:不必占用連續(xù)的內(nèi)存空間,而是"見縫插針";(4)多次對換:所需的全部程序和數(shù)據(jù)要分成多次調(diào)入內(nèi)存。1、
6、頁式存儲組織頁式存儲管理的基本原理是將邏輯地址空間分成大小相同的頁,將存儲地址空間分塊,頁和塊的大小相等,通過頁表進行管理。頁式系統(tǒng)的邏輯地址分為頁號和頁內(nèi)位移量。頁表包括頁號和塊號數(shù)據(jù)項,它們一一對應。根據(jù)邏輯空間的頁號,查找頁表對應項找到對應的塊號,塊號乘以塊長,加上位移量就形成存儲空間的物理地址。每個作業(yè)的邏輯地址空間是連續(xù)的,而映象到內(nèi)存空間后就不一定連續(xù)了。此外,頁表中還包括狀態(tài)位(指示該頁面是否在內(nèi)存中)、外存地址、改變位(該頁的內(nèi)容在內(nèi)存中是否修改過)、引用位(最近是否被引用)等。頁式存儲管理的動態(tài)地址轉(zhuǎn)換過程是:進程運行時,其頁
7、表地址已在系統(tǒng)的動態(tài)地址轉(zhuǎn)換機構(gòu)中的基本地址寄存器中,執(zhí)行的指令訪問邏輯地址(p,d)時,首先根據(jù)頁號p查頁表,由狀態(tài)位可知,這個頁是否已經(jīng)調(diào)入主存。若調(diào)入主存,則可直接將虛地址轉(zhuǎn)換為實地址,如果該頁未調(diào)入主存,則產(chǎn)生缺頁中斷,以裝入所虛的頁。利用快表可加速地址轉(zhuǎn)換。參見教材119頁圖4-19。2、段式存儲組織段式存儲管理的基本原理是邏輯地址空間分段,一個作業(yè)是由若干個具有邏輯意義的段,如主程序、子程序、數(shù)據(jù)段、棧段等組成的。在分段系統(tǒng)中,允許作業(yè)占據(jù)主存中許多分離的分區(qū),段內(nèi)連續(xù),段有段號,但段長可以相同,通過段表進行管理。段式系統(tǒng)的邏輯地址
8、由段號和段內(nèi)位移量兩項組成。段表由若干表目組成,每一表目有段號、段長、在主存中的首地址、存取方式和狀態(tài)位等項。作業(yè)訪問虛存時,根據(jù)地址空間的段號,查找