




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第4章存儲器管理本章要點存儲器管理的有關(guān)概念內(nèi)存的覆蓋和交換技術(shù)存儲器的具體管理方法4.1 存儲管理的有關(guān)概念內(nèi)存的分配和回收提高內(nèi)存的利用率實現(xiàn)地址映射“擴(kuò)充”主存容量存儲保護(hù)4.1.1、存儲器管理的目的和功能1、內(nèi)存的分配和回收按用戶要求,把適當(dāng)?shù)拇鎯臻g分配給相應(yīng)的作業(yè) 記錄內(nèi)存使用情況: 哪些是已分配的,哪些是未分配的 實施分配 在系統(tǒng)程序或用戶提出申請時,分配相應(yīng)的空間,同時修改內(nèi)存記錄表 接受系統(tǒng)或用戶釋放的存儲區(qū)域,并相應(yīng)地修改分配記錄表2、提高內(nèi)存的利用率3、實現(xiàn)地址映射 用戶作業(yè)使用的邏輯地址 裝入內(nèi)存按照實際的地址空間 所以需要有從邏輯地址到實際地址的轉(zhuǎn)換機(jī)制4、“擴(kuò)充”主
2、存容量 擴(kuò)種不是物理的增大內(nèi)存容量,而是對內(nèi)存空間的邏輯擴(kuò)充(通過軟件的方法),即:用戶感受到的內(nèi)存容量,比實際的內(nèi)存容量大5、存儲保護(hù)確保各道作業(yè)都在所分配的存儲區(qū)誒操作,互不干擾直接指定方式程序員在編寫程序時,或編譯程序?qū)υ闯绦蜻M(jìn)行編譯時,所用的是實際存儲地址,為用戶分配內(nèi)存就按照這個實際地址進(jìn)行分配前提:存儲器的可用容量是固定且可知的4.1.2、存儲器分配的方式 存儲分配所要解決的問題是:什么時候,以什么方式,為一個作業(yè)分配主存空間,并使這些操作對多用戶來說是透明的靜態(tài)分配(Static Allocation)1、程序在裝入的時候才確定實際地址2、一個作業(yè)裝入時必須分配其要求的全部存儲量
3、3、存儲空間不夠,不能裝入該作業(yè)4、作業(yè)退出系統(tǒng)前,一直占用它的存儲空間動態(tài)分配(Dynamic Allocation)1、程序在裝入的時候才確定實際地址2、一個作業(yè)無需全部一次性裝入3、在其執(zhí)行過程中可根據(jù)需要申請存儲空間 4、作業(yè)的占用的存儲空間,可以在不需要的時候,歸還給系統(tǒng)邏輯地址空間(用戶編寫程序所用的地址空間,又稱邏輯地址):任何一個程序的邏輯地址空間都是以地址0起始的邏輯地址的集合,邏輯地址空間的地址稱為邏輯地址。邏輯地址又稱為相對地址,程序中的邏輯地址,相對于地址0 4.1.3、重定位(Relocation)LOAD A,10hLOAD A,20h000H200H000H230
4、H作業(yè)A作業(yè)B物理存儲空間(主存中一系列存儲單元的編號,又稱物理地址) :一個程序在執(zhí)行時所占用的內(nèi)存空間稱作它的物理存儲空間,不同程序的存儲空間不能沖突LOAD A,10hLOAD A,20h000H200H000H230H作業(yè)A作業(yè)BLOAD A,10hLOAD A,20h作業(yè)A作業(yè)B作業(yè)編譯后的目的程序邏輯地址空間存儲空間作業(yè)的邏輯地址空間作業(yè)的實際地址空間裝入內(nèi)存一個編譯好的程序,存在于它自己的邏輯空間內(nèi),裝入內(nèi)存時,才把它裝入內(nèi)存空間重定位:在一般情況下,一個作業(yè)在裝入時,分配到的實際存儲空間地址和它的邏輯地址空間是不一致的。 由于一個作業(yè)裝入到與其邏輯地址空間不一致的存儲空間所引起
5、的對有關(guān)地址部分的調(diào)整過程,就是我們所說的地址重定位LOAD A,220h000H200H作業(yè)A2345220HA=2345LOAD A,220h作業(yè)A87650220H0000H1200H1000H23451220H地址重定位,實際上就是一個地址變換過程,是把邏輯地址變成物理地址的過程。這種地址變換,又稱為地址映射。重定位類型 作業(yè)在裝入過程中由裝配程序進(jìn)行的地址變換方式,稱為靜態(tài)重定位。 當(dāng)訪問指令或數(shù)據(jù)時(作業(yè)執(zhí)行時),由附加的地址變換機(jī)構(gòu)進(jìn)行的地址變換方式,稱為動態(tài)重定位。(1)靜態(tài)重定位LOAD A,15001、地址映射是在程序裝入的時候,集中一次性完成2、由編譯程序?qū)⒊绦蛑谐霈F(xiàn)的邏
6、輯地址改成實際的物理地址主要缺點:1、不能有效地利用內(nèi)存;2、作業(yè)必須連續(xù)存放,若作業(yè)所需的存儲量超過可用的存儲空間,用戶必須考慮覆蓋結(jié)構(gòu);3、用戶之間難以共享主存中的同一程序。(2)動態(tài)重定位1、地址映射是在程序執(zhí)行的時候,由硬件地址映射機(jī)構(gòu)完成2、采用基地址寄存器BR,存放現(xiàn)行程序的內(nèi)存空間的起始地址只要改變基地址寄存器BR的內(nèi)容,便可把程序定位在新的內(nèi)存空間。主要優(yōu)點:1、主存的使用更加靈活有效;一個用戶的作業(yè)不一定要分配一個連續(xù)的存儲區(qū)。作業(yè)在開始之前,也不一定把他的地址空間全部裝入內(nèi)存2、幾個作業(yè)共享一程序段的單個副本比較容易;3、系統(tǒng)來負(fù)責(zé)全部的存儲管理。虛擬存儲器管理的基本思想是
7、利用大容量的外存空間來邏輯擴(kuò)充內(nèi)存,產(chǎn)生一種不受實際內(nèi)存容量限制的邏輯存儲器,通過對這種虛擬存儲器的管理,充分發(fā)揮內(nèi)存資源的利用率,使系統(tǒng)能夠有效地支持多道程序的并發(fā)運行以及解除對用戶作業(yè)大小的限制,從而增強(qiáng)系統(tǒng)的處理能力。4.1.4、虛擬存儲器概念虛擬存儲器虛擬存儲器是指對內(nèi)存的虛擬一級存儲器概念作業(yè)地址空間概念虛擬存儲器的實現(xiàn)條件要有相當(dāng)容量的輔存要有一定容量的主存要使用動態(tài)分配和動態(tài)重定位要有交換技術(shù)的支持交換技術(shù) 交換技術(shù)使得一個作業(yè)同時被分配到內(nèi)存和外存兩部分運行成為可能,所以只有使用了交換技術(shù)才能實現(xiàn)虛擬存儲4.2 單用戶單任務(wù)系統(tǒng)的存儲器管理1、存儲器的分配一個區(qū)域供操作系統(tǒng)占用
8、,另一個區(qū)域則為用戶的應(yīng)用程序所使用。采用靜態(tài)分配技術(shù),作業(yè)一次性裝入內(nèi)存一旦進(jìn)入內(nèi)存,等該作業(yè)結(jié)束后才能釋放內(nèi)存空間當(dāng)作業(yè)需求的空間大于實際可用空間時,系統(tǒng)會出現(xiàn)內(nèi)存不足的錯誤致使作業(yè)無法運行2、覆蓋技術(shù)(Overlay)把一個大的程序劃分成一系列的覆蓋。每個覆蓋是一個相對獨立的程序單位。把程序執(zhí)行時并不要求同時裝入主存的覆蓋組,組成一組,稱為覆蓋段(P94,圖4.5)通常,一個大作業(yè)的覆蓋結(jié)構(gòu)要求編程人員事先給出;為了實現(xiàn)覆蓋管理,則需要得到相應(yīng)的編譯程序和連接裝配程序的協(xié)助。3、存儲保護(hù)只需要考慮對操作系統(tǒng)程序區(qū)域的保護(hù)自動地址修改 若操作系統(tǒng)位于低端(如低4KB區(qū)域),則對用戶的存儲訪
9、問,地址自動加上4K。高端同理。0頁、1頁尋址 用戶程序和操作系統(tǒng)各占一半空間(不同頁)界限寄存器 又稱隔離寄存器(上、下限寄存器)4、DOS的存儲管理內(nèi)存分配 1)對地址空間進(jìn)行分段方法 2)覆蓋技術(shù)4.3 多用戶系統(tǒng)存儲器管理分區(qū)式分配基本思想:把內(nèi)存劃分成若干個連續(xù)區(qū)域,稱為分區(qū),每個分區(qū)裝入一個作業(yè)運行。4.3.1、固定分區(qū)分配1、系統(tǒng)初始化時,把存儲空間劃分成若干個固定大小的區(qū)域,作業(yè)運行時,為其選擇一個合適的區(qū)域2、存儲區(qū)域是在系統(tǒng)啟動時劃定的,在用戶作業(yè)裝入及運行過程中,其區(qū)域的大小和邊界是不能改變的3、為了實現(xiàn)這種固定分區(qū)的分配,系統(tǒng)需要建立一張 分區(qū)說明表。在每個分配的分區(qū)中
10、,通常都有一部分未被作業(yè)占用而浪費掉。這種分配給用戶而未被利用的部分,稱作存儲區(qū)的“內(nèi)碎片”(Internal Fragmentation)。分區(qū)號大小起始地址狀態(tài)112K20K已分配232K32K已分配364K64K已分配4128K128K未分配操作系統(tǒng)作業(yè)A作業(yè)B作業(yè)C空分區(qū)可變分區(qū)是指系統(tǒng)不預(yù)先劃分固定分區(qū),而是在裝入作業(yè)時劃分,使分區(qū)的大小正好適應(yīng)作業(yè)的需求量,且分區(qū)的個數(shù)是可變的。一個可變分區(qū)分配和回收的示例4.3.2、可變分區(qū)分配減少存儲區(qū)的“內(nèi)碎片”,提高主存的利用率1、可變分區(qū)管理的基本原理操作系統(tǒng)作業(yè)A(16K)空閑區(qū)10K作業(yè)B(90K)作業(yè)C(30K)作業(yè)D(70K)空閑
11、區(qū)24K操作系統(tǒng)作業(yè)A(16K)空閑區(qū)10K作業(yè)B(90K)作業(yè)C(30K)空閑區(qū)94K作業(yè)D(70k)和作業(yè)E(50k)請求裝入操作系統(tǒng)作業(yè)A(16K)空閑區(qū)10K作業(yè)B(90K)作業(yè)C(30K)作業(yè)D(70K)空閑區(qū)24K操作系統(tǒng)空閑區(qū)26K作業(yè)B(90K)空閑區(qū)30K作業(yè)D(70K)空閑區(qū)24K作業(yè)A和作業(yè)C完成作業(yè)E仍然不能分配主存分配表描述主存分配信息的表格一般用兩張表格:“已分配區(qū)表”和“空閑區(qū)表”可變分區(qū)的分配(裝入作業(yè))從空閑區(qū)表中找一個區(qū)域分配,修改“空閑區(qū)表”修改“已分配區(qū)表”,加入新裝入的作業(yè)可變分區(qū)的回收(作業(yè)結(jié)束)“空閑區(qū)表”的修改有下面三種情況:歸還區(qū)有下鄰空閑區(qū)歸
12、還區(qū)有上鄰空閑區(qū)歸還區(qū)既有上鄰空閑區(qū)又有下鄰空閑區(qū)2、可變分區(qū)分配和回收歸還區(qū)有下鄰空閑區(qū)起始地址長度標(biāo)志7001000未分配2300800未分配40002000未分配80001000未分配起始地址:1900 長度:400 待回收的作業(yè)區(qū)域:230019001200未分配歸還區(qū)有上鄰空閑區(qū)起始地址長度標(biāo)志7001000未分配2300800未分配40002000未分配80001000未分配起始地址:1700 長度:400 待回收的作業(yè)區(qū)域分配歸還區(qū)有上、下鄰空閑區(qū)起始地址長度標(biāo)志7001000未分配2300800未分配40002000未分配80001000未分配起始地址
13、:1700 長度:600 待回收的作業(yè)區(qū)域分配2300最佳適應(yīng)算法(Best Fit) 為一作業(yè)選擇分區(qū)時總是尋找其大小最接近于作業(yè)所要求的存儲區(qū)域。換句話:分配作業(yè)后,剩下的空白區(qū)最小缺點:1、回收時,插入到空白區(qū)鏈比較麻煩2、容易產(chǎn)生一些較小的無法再分配的碎片3、可變分區(qū)的分配策略如何從空閑區(qū)中選擇一個區(qū)域分配給作業(yè)?有三種不同的分配算法:最壞適應(yīng)算法 為作業(yè)選擇存儲區(qū)域時,總是尋找最大空白區(qū)。為了支持這個算法的實現(xiàn),空白塊應(yīng)以大小遞減的順序鏈接起來。首次適應(yīng)算法首次適應(yīng)算法是對它們進(jìn)行折中考慮后設(shè)計出來的算法思想:空白區(qū)按照地址從小到大鏈接,為作業(yè)分配空間,從空
14、白區(qū)鏈中查找,找到第一個足以滿足該作業(yè)的空白區(qū),分配給作業(yè)。最佳適應(yīng)算法不一定是最佳的,最壞適應(yīng)算法也不一定是最壞的隨著分配和回收次數(shù)的增加,必然導(dǎo)致“碎片”的出現(xiàn)。通過重新安排作業(yè)在內(nèi)存中的位置將所有空閑碎片合并成一個大的空閑區(qū)。必須有動態(tài)重定位的支持。采用移動技術(shù)時必須注意下列問題:移動會增加系統(tǒng)開銷移動是有條件的4、移動技術(shù)P118,習(xí)題7:在用可變分區(qū)方式管理主存時,假定主存中按地址順序依次有五個空閑區(qū),空閑區(qū)的大小依次為32K,10K,5K,228K,100K。現(xiàn)有五個作業(yè)J1,J2,J3,J4和J5,它們各需主存1K,10K,108K,28K和115K。若采用最先適應(yīng)分配算法能把這
15、五個作業(yè)按J1J5的順序全部裝入主存嗎?按怎樣的次序裝入這五個作業(yè)可使主存空間利用率最高。5k10k32k100k228k初始時,空閑區(qū)按從小到大排成鏈4k10k32k100k228k分配作業(yè)J1(1k)后的鏈4k32k100k228k分配作業(yè)J2(10k)后的鏈4k32k100k120k分配作業(yè)J3(108k)后的鏈4k4k100k120k分配作業(yè)J4(28k)后的鏈作業(yè)J5分配到最后一個空閑區(qū)按怎樣的次序裝入這五個作業(yè)可使主存空間利用率最高?答:上圖分配結(jié)果,存在兩個4k和1個5k的碎片,若再來三個5k的作業(yè),分配不下。更改次序,使得最后的空閑區(qū)鏈表中有多于3個5k空閑區(qū),則內(nèi)存利用率會提
16、高。本題,只要J4在J1之前進(jìn)入內(nèi)存,利用率就會提高4k4k100k5k把主存的存儲空間,分成相同大小的塊,這些塊稱為物理頁面(物理塊),將這些存儲塊編號,稱為頁面號設(shè)內(nèi)存容量為16MB,假如每4KB為一塊,可分成4096個塊,頁面號為0-4095同理,將每個作業(yè)的地址空間,分成與內(nèi)存大小相等的片,并稱為頁(Page),其編號為邏輯頁號 在為一個作業(yè)分配內(nèi)存空間時,總是以塊(頁)為單位,將每一個作業(yè)的頁,放到一個內(nèi)存的物理塊中4.4 分頁式存儲器管理4.4.1、靜態(tài)分頁系統(tǒng)1、基本原理分頁系統(tǒng)中,作業(yè)的邏輯地址格式:頁號P頁內(nèi)地址(塊內(nèi)位移量)設(shè)作業(yè)大小為1MB,假如每4KB為一塊,可分成25
17、6個塊,邏輯頁號為0-255第00H頁第01H頁第FFH頁指令在頁內(nèi)的偏移量為000H-FFFH指令在頁內(nèi)的偏移量為000H-FFFH指令在頁內(nèi)的偏移量為000H-FFFH所謂靜態(tài)分頁系統(tǒng),就是在調(diào)度一個作業(yè)時,使用的是靜態(tài)分配的方法,必須把它的所有頁一次裝入到主存的塊內(nèi);如果當(dāng)時空閑塊數(shù)不足,則該作業(yè)必須等待,系統(tǒng)調(diào)度另外的作業(yè)運行.為了實現(xiàn)邏輯地址到物理地址的映射,系統(tǒng)需要如下三個表目: 頁表 進(jìn)程表 存儲頁面表邏輯頁號物理塊號0 15 23 703 68頁表(體現(xiàn)邏輯頁號和物理塊號之間的關(guān)系)進(jìn)程運行時,每當(dāng)要訪問邏輯地址時,動態(tài)地址映射機(jī)構(gòu)先將邏輯地址分離成頁號P和頁內(nèi)地址d,然后查頁
18、表,得到P所對應(yīng)的物理塊號F,將物理塊號F和d相連(F塊長+d),得到邏輯地址對應(yīng)的物理地址。地址映射過程如下:由指令產(chǎn)生邏輯地址由邏輯頁號查快表得到物理塊號由物理塊號與頁內(nèi)地址合并得到物理地址。2、地址變換分頁管理的存儲保護(hù)在分頁存儲管理中,存儲保護(hù)功能是采用頁表地址寄存器代替界地址寄存器實現(xiàn)的,它規(guī)定了作業(yè)可訪問的頁表起始地址及其長度。4.4.2、動態(tài)分頁存儲系統(tǒng)指導(dǎo)思想:在作業(yè)運行之前,只要求把當(dāng)前需要的一部分頁面裝入主存,另外一部分裝入到輔存的交換分區(qū)中,當(dāng)作業(yè)運行過程中需要其他的頁時,由虛擬存儲系統(tǒng)(Virtual Memory System)自動控制內(nèi)、外存之間的頁面交換。在虛擬存
19、儲系統(tǒng)中所用的輔存,可以是一個專用的磁鼓或磁盤,也可以是用于存儲文件的磁盤的一部分。1、基本原理1)進(jìn)程運行之前,將一部分頁面裝入主存,另外一部分裝入到輔存的交換分區(qū)中2)當(dāng)進(jìn)程運行過程中如果所訪問的頁在內(nèi)存,則可直接訪問3)如果所訪問的頁不在內(nèi)存,則發(fā)生缺頁中斷,由操作系統(tǒng)進(jìn)行頁面的動態(tài)調(diào)度調(diào)度過程:1)找到被訪問的頁,在外存中的地址2)在內(nèi)存中找一個空閑頁面;如果沒有,按照淘汰算法選擇一個頁面,將此頁面寫回外存,修改頁表3)讀入所需的頁面,修改頁表4)重新啟動進(jìn)程執(zhí)行被中斷的指令邏輯頁號 物理塊號 訪問權(quán)限 內(nèi)外標(biāo)志 修改標(biāo)志 外存地址動態(tài)分頁系統(tǒng)的頁表:內(nèi)外標(biāo)志=1,對應(yīng)頁在內(nèi)存;=0,
20、對應(yīng)頁在外存修改標(biāo)志=1,對應(yīng)頁在內(nèi)存期間被修改過,淘汰時,需要重新寫回外存 =0,對應(yīng)頁沒修改過,淘汰時,無需重新寫回外存平均分配按進(jìn)程的程序長度比例分配按進(jìn)程優(yōu)先級比例分配進(jìn)程長度和優(yōu)先級比例分配2、內(nèi)存頁面分配策略請調(diào)所謂請調(diào)是當(dāng)缺頁發(fā)生時進(jìn)行調(diào)度。當(dāng)訪問的頁面不在內(nèi)存時,由操作系統(tǒng)將其調(diào)入內(nèi)存優(yōu)點:不會發(fā)生無意義的頁面調(diào)度缺點:從缺頁中斷到所需頁面被調(diào)入內(nèi)存,進(jìn)程需要等待,影響進(jìn)程的推進(jìn)速度3、頁面調(diào)入時機(jī)預(yù)調(diào)預(yù)調(diào)也稱先行調(diào)度。是在缺頁發(fā)生前進(jìn)行調(diào)度,即當(dāng)一個頁面即將被訪問之前,由操作系統(tǒng)將其調(diào)入內(nèi)存。這樣可以節(jié)省進(jìn)程因缺頁而等待的時間。優(yōu)點:減少缺頁中斷次數(shù)缺點:可能存在無意義的調(diào)頁
21、;實現(xiàn)開銷大如何知道一個頁面即將被訪問?程序的順序性特征(正在訪問12頁,下一個要訪問的可能是13、14頁)淘汰算法:當(dāng)要訪問頁面在外存而不在內(nèi)存時,需要將其調(diào)入內(nèi)存,如果此時內(nèi)存中無空閑頁面,則需要將內(nèi)存中某一個頁面移出,被移出的頁面稱為淘汰頁面。淘汰算法不僅可以用于頁面的置換,也可用于快表項目以及段的置換,以下為幾個常用的淘汰算法:最佳淘汰算法先進(jìn)先出淘汰算法(FIFO)最近最久未使用頁面置換算法(LRU)計時法堆棧法最近最不常用調(diào)度算法(LFU)4、淘汰算法(置換算法)最佳淘汰算法淘汰以后不會再需要的,或者在最長的時間以后才會用到的頁面,這種算法的缺頁率最低該算法只有理論上的意義先進(jìn)先出
22、淘汰算法(FIFO)最簡單的頁面淘汰算法兩種方法可以實現(xiàn):1、記錄頁面進(jìn)入內(nèi)存的時間;2、頁面進(jìn)入內(nèi)存時排成一個隊列缺點:1、效率不高 2、存在異常現(xiàn)象(Belady現(xiàn)象)最近最久未使用頁面置換算法(LRU)計時法: 每個頁面設(shè)置一個訪問計時器,每次被訪問,從0開始計時。堆棧法:棧中存放當(dāng)前在主存中的頁面,每當(dāng)訪問一頁時就調(diào)整一次,使棧頂總是指向最近訪問的頁面,棧底是最近最久沒有被訪問的頁面P106,圖4.11局部性原理認(rèn)為:過去一段時間里不曾被訪問過的頁面,在最近的將來,也不會再被訪問算法思想:當(dāng)需要置換一個頁面時,選擇在最近一段時間內(nèi)最久不用的頁面予以淘汰實現(xiàn):利用“頁面訪問”位記錄一個頁
23、面自上次訪問以來所經(jīng)歷的時間t,并選擇t最大的頁面淘汰最近最不常用調(diào)度算法(LFU)算法思想:根據(jù)在一段時間內(nèi)頁面被訪問的次數(shù),選擇可以調(diào)出的頁面。如果一個頁面被訪問的次數(shù)多,則是經(jīng)常要使用的頁面,就不該被調(diào)出實現(xiàn):利用頁面計數(shù)器,統(tǒng)計每個頁被訪問的次數(shù)5、缺頁中斷率和抖動進(jìn)程執(zhí)行中,若訪問頁面的總次數(shù)為A,有F次訪問的頁面尚未裝入主存,則產(chǎn)生了F次缺頁中斷。現(xiàn)定義:f=FA 把f稱為缺頁中斷率。影響缺頁中斷率的因素有:分配給作業(yè)的主存塊數(shù)分配給作業(yè)的主存塊數(shù)多,則同時裝入主存的頁面數(shù)就多,因此減少了缺頁中斷的次數(shù),即降低了缺頁中斷率。頁面的大小頁面調(diào)度算法程序編制方法頁面在內(nèi)存與外存中頻繁調(diào)
24、度,以至于系統(tǒng)用于調(diào)度頁面所需要的時間比進(jìn)程實際運行所占用的時間還多,這種現(xiàn)象稱為抖動動態(tài)分頁系統(tǒng)具有如下優(yōu)點:可提供大容量的多個虛擬存儲器。作業(yè)的地址空間不再受實際內(nèi)存大小的限制。更有效地利用了主存。作業(yè)中不常使用的頁不會長期駐留在內(nèi)存,本次運行不到的信息也不會裝入內(nèi)存。多道程序運行的程度更高了更加方便了用戶,特別是大作業(yè)的用戶4.4.3、分頁系統(tǒng)的優(yōu)缺點分頁存儲管理也有不少缺點:增加了計算機(jī)的硬件成本,降低了處理機(jī)的速度必須用一部分存儲空間來存放各種表格(頁表,存儲分塊表)出現(xiàn)了塊內(nèi)的碎片問題:作業(yè)所占用的空間不一定是頁的整數(shù)倍,一個作業(yè),最后一頁往往是不滿的。對于靜態(tài)分頁系統(tǒng),要求運行的
25、作業(yè),必須全部裝入主存在動態(tài)分頁系統(tǒng)中,為處理缺頁中斷增加了系統(tǒng)開銷P118,習(xí)題8:某采用頁式虛擬存儲管理的系統(tǒng),接受一個共7頁的作業(yè),作業(yè)執(zhí)行時依次訪問的頁為 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。若采用最近最少用(LRU)調(diào)度算法,作業(yè)在得到兩塊主存空間和四塊主存空間各會產(chǎn)生多少次缺頁中斷?如果采用先進(jìn)先出(FIFO)調(diào)度算法又會有怎樣的結(jié)果?LRU算法思想:當(dāng)需要置換一個頁面時,選擇在最近一段時間內(nèi)最久不用的頁面予以淘汰12LRU算法思想、兩塊內(nèi)存空間可用32缺頁1次1,2,3,4,2,1,5,6,2,1,2,3,7,63234缺頁2次1,2,
26、3,4,2,1,5,6,2,1,2,3,7,63424缺頁3次1,2,3,4,2,1,5,6,2,1,2,3,7,62421缺頁4次1,2,3,4,2,1,5,6,2,1,2,3,7,62151缺頁5次1,2,3,4,2,1,5,6,2,1,2,3,7,612LRU算法思想、四塊內(nèi)存空間可用52缺頁1次1,2,3,4,2,1,5,6,2,1,2,3,7,634345256缺頁1次1,2,3,4,2,1,5,6,2,1,2,3,7,63434一個段定義為一組邏輯信息(如主程序,過程,數(shù)組等都可以作為一個段),每個作業(yè)地址空間按其內(nèi)在的邏輯關(guān)系分成若干段段的長度是不固定的段內(nèi)都是從0開始編址的連續(xù)
27、地址空間段間的地址空間是不連續(xù)的。段式存儲管理中作業(yè)的分段是由用戶決定的。4.5 分段式存儲管理4.5.1、基本段式存儲器管理基本原理段內(nèi)地址d段號s作業(yè)分段后,作業(yè)中的任一邏輯地址可表示為:(段號:段內(nèi)地址)頁式存儲管理提供連續(xù)的地址,由系統(tǒng)自動進(jìn)行分頁(整個作業(yè)的邏輯地址空間都是連續(xù)的)段式存儲管理,分段是由用戶決定的,每一段獨立編程;段內(nèi)的邏輯地址空間時連續(xù)的,但是段間的地址空間是不連續(xù)的段式管理和頁式管理在邏輯地址上的區(qū)別:段表:作業(yè)的各個段,可被裝入不相連的幾個內(nèi)存區(qū)域因此,裝入作業(yè)時,操作系統(tǒng)需為作業(yè)建立一張“段表”,指出該作業(yè)的每個分段的長度和在主存中的位置(起始地址)段號起始地
28、址段長0120K40K1380K20K2460K20K3780K30K40K20K20K30K段號=0040K-1段內(nèi)地址120K380K460K780K160K-1400K-1480K-1810K-1物理地址段號=1020K-1段號=2020K-1段號=3030K-1段式存儲管理分配主存空間的方法與可變分區(qū)管理方式的分配方法相同:進(jìn)入主存空間分配時,根據(jù)段長找出一個可容納該段的空閑區(qū),當(dāng)把作業(yè)裝入主存后,為該作業(yè)建立一張“段表”回收存儲空間的方法與可變分區(qū)管理方式相同:作業(yè)結(jié)束時,回收該作業(yè)所有段所在的內(nèi)存區(qū)域主存空間的分配和回收地址轉(zhuǎn)換段式管理的存儲保護(hù)通過作業(yè)的段表實現(xiàn)在段表中,每一段有
29、段的起始位置和長度,這相當(dāng)于界限寄存器的基地址寄存器和長度寄存器段式管理的存儲保護(hù)分頁的作業(yè)地址空間是線性地址空間,而分段作業(yè)的地址空間是二維的“頁”是信息的物理單位,大小固定,對用戶不可見;“段”是信息的邏輯單位,長度不定,用戶可見。段式管理與頁式管理的區(qū)別分頁管理查頁表得到的是頁所對應(yīng)的內(nèi)存塊號 物理地址=內(nèi)存塊號*塊長+塊內(nèi)位移 分段管理查段表得到的是段對應(yīng)內(nèi)存的起始地址 物理地址=該段主存地址+段內(nèi)位移與頁式管理相比,段式管理因為對作業(yè)是由用戶從邏輯上分割,所以便于多用戶多作業(yè)共享某一段。段式管理與頁式管理的區(qū)別P118習(xí)題9:某采用段式存儲管理的系統(tǒng)為裝入主存的一個作業(yè)建立了如下所示的段表。 段號 始址 段長 0 8K 3K 1 12K 2K 2 20K 4K 3 30K 8K 回答下列問題:(1)計算該作業(yè)訪問0,432,1,10,2,500,3,400時的絕對地址。(2)總結(jié)段式管理的地址轉(zhuǎn)換過程。0,432的絕對地址=8*1024+432=86241,10的絕對地址=12*1024+10=122982,500的絕對地址=20*1024+500=209803,400的絕對地址=30*1024+400=31120虛擬段式存儲管理仍以段式存儲管理為基礎(chǔ),不要求作業(yè)的所有段一次性進(jìn)入內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CECS 10391-2024整體式垃圾壓縮機(jī)
- T/CI 508-2024裝配式混凝土建筑質(zhì)量控制技術(shù)規(guī)程
- T/CI 475-2024廚余垃圾廢水處理工程技術(shù)規(guī)范
- 2025年水產(chǎn)捕撈勞動合同3篇
- 司機(jī)聘用勞動合同5篇
- 普通房屋出租合同范本4篇
- 鍋爐管道維修合同3篇
- 增資擴(kuò)股托管申請協(xié)議8篇
- 飛龍陽光城D影視合同4篇
- 用友服務(wù)合同4篇
- 工程造價工作流程圖
- 2024年兩夫妻離婚復(fù)合協(xié)議書模板范本
- 生命安全與救援學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- TGXAS-成人急性中毒患者洗胃操作技術(shù)規(guī)范
- 2024海南省海口市中考化學(xué)試題卷(含答案解析)+2023年中考化學(xué)試卷及答案
- 澳大利亞建筑規(guī)范
- 消化道出血護(hù)理查房7
- 礦坑涌水量預(yù)測計算規(guī)程
- 娛樂用高空滑索裝置項目可行性實施報告
- 廣東省深圳市羅湖區(qū)2023-2024學(xué)年二年級下學(xué)期期末考試數(shù)學(xué)試題
- 江蘇省常州市教育學(xué)會2023-2024學(xué)年下學(xué)期八年級數(shù)學(xué)考試卷
評論
0/150
提交評論