操作系統(tǒng)內(nèi)存管理分析課件_第1頁
操作系統(tǒng)內(nèi)存管理分析課件_第2頁
操作系統(tǒng)內(nèi)存管理分析課件_第3頁
操作系統(tǒng)內(nèi)存管理分析課件_第4頁
操作系統(tǒng)內(nèi)存管理分析課件_第5頁
已閱讀5頁,還剩131頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

15.3覆蓋與交換技術(shù)(內(nèi)存擴充)問題的提出物理存儲器物理存儲器結(jié)構(gòu)是一維的線性空間,容量有限。用戶程序用戶程序的大小,可能比內(nèi)存容量小,也可能比內(nèi)存容量大,有時候要大得多。解決辦法內(nèi)存擴充15.3覆蓋與交換技術(shù)(內(nèi)存擴充)問題的提出2實現(xiàn)內(nèi)存擴充的方法:采用覆蓋技術(shù)采用交換技術(shù)采用虛擬存儲技術(shù)2實現(xiàn)內(nèi)存擴充的方法:3覆蓋技術(shù)將程序結(jié)構(gòu)分層第0層設(shè)置為常駐內(nèi)存區(qū)。第一層起,為該層中的多個模塊設(shè)置一個共享覆蓋區(qū),其容量與該層中最大模塊的容量相當(dāng)。程序執(zhí)行到哪個模塊就將該模塊送到它所共享的覆蓋區(qū)中。5.3.1覆蓋技術(shù)3覆蓋技術(shù)5.3.1覆蓋技術(shù)4A、B、C、D、E、F總計190K,實際分配110K4A、B、C、D、E、F總計190K,實際分配110K5采用交換技術(shù)在系統(tǒng)盤上開辟一個專門的空間作為內(nèi)存的擴充,這部分磁盤空間稱為“交換區(qū)”或“對換區(qū)”,由內(nèi)存管理模塊進行管理。交換區(qū)的作用是當(dāng)內(nèi)存空間不夠時,將暫時不用的進程映像調(diào)到磁盤交換區(qū),以騰出內(nèi)存空間,當(dāng)再度用到被調(diào)出的這部分進程映像時再將其調(diào)回內(nèi)存。5.3.2交換技術(shù)5采用交換技術(shù)5.3.2交換技術(shù)6交換技術(shù)6交換技術(shù)71.虛擬存儲器的基本思想問題作業(yè)在運行時暫時不用的程序和數(shù)據(jù),全部駐留于內(nèi)存中降低了內(nèi)存利用率。解決方法當(dāng)作業(yè)開始運行時,將當(dāng)前使用的部分先裝入內(nèi)存,其余部分先存放在外存中,等到用到這些信息時,再由系統(tǒng)自動把它們裝入到內(nèi)存中,這就是虛擬存儲器的基本思想。概念:虛擬存儲器(虛擬內(nèi)存)是操作系統(tǒng)采用虛擬技術(shù),在不改變物理內(nèi)存實際大小的情況下提供的邏輯上被擴充了的內(nèi)存。這種物理上不具備而邏輯上具備的內(nèi)存就是虛擬內(nèi)存。補充:虛擬存儲技術(shù)71.虛擬存儲器的基本思想補充:虛擬存儲技術(shù)82.虛擬存儲技術(shù)的依據(jù)局部性理論(8/2原理)時間局部性:是指程序即將用到的信息可能就是目前正在使用的信息??臻g局部性:是指程序即將用到的信息可能與目前正在使用的信息在空間上相鄰或者臨近。局部性理論的應(yīng)用意義虛擬存儲管理:程序執(zhí)行時往往會遵循局部原理(時間、空間)訪問內(nèi)存,將部分進程存入內(nèi)存,結(jié)合外存實現(xiàn)虛擬存儲。82.虛擬存儲技術(shù)的依據(jù)93.虛擬存儲技術(shù)的硬件技術(shù)基礎(chǔ)相當(dāng)數(shù)量的外存足以存放多個用戶程序一定容量的內(nèi)存程序運行過程中,必須有一部分放在內(nèi)存地址變換機構(gòu)實現(xiàn)邏輯地址到物理地址的變換93.虛擬存儲技術(shù)的硬件技術(shù)基礎(chǔ)105.4頁式管理

5.4.1頁式管理的基本原理頁式管理的引入分區(qū)存儲管理的主要問題是碎片問題。問題描述 在采用分區(qū)存儲管理的系統(tǒng)中,會形成一些非常小的分區(qū),最終這些非常小的分區(qū)不能被系統(tǒng)中的任何用戶程序利用而浪費。問題產(chǎn)生原因作業(yè)要求分配的空間連續(xù),主存有足夠的空間但因不連續(xù)而不能分配解決問題的思路程序適應(yīng)主存。將程序分開存放—分頁存儲管理技術(shù)。105.4頁式管理

5.4.1頁式管理的基本原理頁式管理11分頁的思想頁(虛擬頁):程序地址空間分成大小相等的頁面塊(內(nèi)存塊、頁塊、頁禎、內(nèi)存頁面):把內(nèi)存分成與頁面大小相等的塊。思想:當(dāng)一個用戶程序裝入內(nèi)存時,針對。一每一頁分配一個內(nèi)存塊個作業(yè)的若干連續(xù)的頁,可以分配到內(nèi)存中若干不連續(xù)的塊中。11分頁的思想12內(nèi)存頁面分配與回收頁式存儲管理的數(shù)據(jù)結(jié)構(gòu)(1)頁表:頁表包括用戶程序空間的頁面與內(nèi)存塊的對應(yīng)關(guān)系。頁表每個進程至少一張。5.4.2靜態(tài)頁面管理12內(nèi)存頁面分配與回收5.4.2靜態(tài)頁面管理13(2)請求表:表明各進程與其分頁的頁面之間的關(guān)聯(lián)。請求表整個系統(tǒng)一張。圖5.16請求表示例13(2)請求表:表明各進程與其分頁的頁面之間的關(guān)聯(lián)。請求表14(3)存儲頁面表:表示內(nèi)存的分配情況。存儲頁面表一個系統(tǒng)一張,可用位示圖表示。圖5.17位示圖14(3)存儲頁面表:表示內(nèi)存的分配情況。存儲頁面表一個系統(tǒng)155.4.2靜態(tài)頁面管理2.分配算法利用頁表、請求表、位示圖進行分配。圖5.18頁面分配算法流圖155.4.2靜態(tài)頁面管理2.分配算法圖5.18頁面分配算法163.頁式地址變換(1)虛地址(線性地址、邏輯地址)(2)分頁地址映射機制虛地址切分:頁號與頁內(nèi)位移劃分頁號和頁內(nèi)地址的依椐:頁的大小。2X=頁大小,X即為頁號的最低位CPU字長為16位,頁長為1K的地址分割163.頁式地址變換CPU字長為16位,17movdx,3badh…………頁號01234567第0頁第1頁01023010231…頁式管理的地址小結(jié):頁大小決定頁內(nèi)位移(地址)的位數(shù),所以在地址劃分時以頁大小作為劃分依據(jù)頁內(nèi)地址頁大小為1K,以字節(jié)(B)為單位劃分,可劃分為1024個單位,進行編址,表示為0-1023,要表示1023需要10位二進制(1111111111),1KB=210B17頁號01234567第0頁第1頁01023010231…18二進制表示虛地址頁號頁內(nèi)位移十六進制表示頁號、頁內(nèi)位移18二進制表示虛地址頁號頁內(nèi)位移十六進制表示頁號、頁內(nèi)位移19(3)地址變換使用二進制方法求物理地址將邏輯地址線性分割求出頁號P和頁內(nèi)位移W:若邏輯地址以十六進制、八進制的形式給出,將邏輯地址轉(zhuǎn)換成二進制;按頁的大小分離出頁號P和位移量W(低位部分是位移量,高位部分是頁號);將位移量直接復(fù)制到內(nèi)存地址寄存器的低位部分;以頁號查頁表,得到對應(yīng)塊號,將塊號轉(zhuǎn)換成二進制數(shù)填入地址寄存器的高位部分,從而形成內(nèi)存地址。19(3)地址變換20movdx,3badh頁號01234567頁號塊號07B0011101110101101塊號OS0123456798BACD~~0101115P=7HW=3ADH00000101101110101101虛地址3BAD,頁面大小2K,用二進制方法求物理地址物理地址=5BADH20movdx,3badh頁號01234567頁號塊號0F21使用十進制方法求物理地址根據(jù)邏輯地址求出頁號P和頁內(nèi)位移W;頁號P=邏輯地址%頁大小(%表示整除)頁內(nèi)位移W=邏輯地址mod頁大小根據(jù)頁號查頁表得塊號B;物理地址=塊號B×頁大小+頁內(nèi)位移W公式說明物理地址=塊起始地址+塊內(nèi)位移W塊起始地址=塊長×塊號 塊長=頁長塊內(nèi)位移=頁內(nèi)位移21使用十進制方法求物理地址22塊號OS0123456798BACD~~第0塊起始地址:0第1塊起始地址:塊號*頁長=1*2K塊大?。?K02K4K第2塊起始地址:塊號*頁長=2*2K塊起始地址計算movdx,3badh…………頁號0123456722塊號OS0123456798BACD~~第0塊起始地址:23【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、A、5塊,試將虛地址0AFEH,1ADDH轉(zhuǎn)換成內(nèi)存地址。解:求虛地址0AFEH的物理地址:0000

101011111110P=1W=01011111110MR=0100101011111110=4AFEH求虛地址1ADDH的物理地址:0001101011011101P=3W=01011011101MR=0010101011011101=2ADDH23【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,24【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、10、5塊,試將虛地址7145,3412轉(zhuǎn)換成內(nèi)存地址。解:轉(zhuǎn)換虛地址3412:P=3412%2048=1W=3412mod2048=1364MR=9*2048+1364=19796轉(zhuǎn)換虛地址7145:P=7145%2048=3W=7145mod2048=1001MR=5*2048+1001=11241問題:塊號若為十六進制的字母表示,MR如何計算?(十六進制轉(zhuǎn)換成十進制)24【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,例:考慮一個由8個頁面,每頁有1024個字節(jié)組成的邏輯空間,把它裝入到有32個物理塊的存儲器中,問:(1)邏輯地址至少需要多少二進制位表示?(2)物理地址至少需要多少二進制位表示?分析:邏輯地址結(jié)構(gòu)由兩個部分組成: 前一部分表示該地址所在頁面的頁號P; 后一部分表示頁內(nèi)地址(頁內(nèi)位移)W。物理地址中塊號的地址位數(shù)決定了塊的數(shù)量。由于頁式存儲管理內(nèi)存空間塊的大小與頁面大小相同,所以物理地址中塊內(nèi)地址與邏輯地址中的頁內(nèi)地址位數(shù)相同。解:因為頁面數(shù)為8=2^3,故需要3位二進制數(shù)表示。每頁有1024個字節(jié),1024=2^10,于是頁內(nèi)地址需要10位二進制數(shù)表示。32個物理塊,需要5位二進制數(shù)表示(32=2^5)。(1)頁的邏輯地址由頁號和頁內(nèi)地址組成,所以需要3+10=13位二進制數(shù)表示。(2)頁的物理地址由塊號和頁內(nèi)地址的拼接,所以需要5+10=15位二進制數(shù)表示。例:考慮一個由8個頁面,每頁有1024個字節(jié)組成的邏輯空間,26相聯(lián)存儲器和快表問題提出在頁式存儲技術(shù)中,每訪問一次內(nèi)存,就要做兩次訪問內(nèi)存的工作:查頁表時(頁表在內(nèi)存中);訪問程序時。為了提高查頁表的速度,將當(dāng)前常用的一部分頁表內(nèi)容存放到高速緩存(相聯(lián)存儲器)中,存放在相聯(lián)存儲器中的頁表稱之為快表(TLB-translationlookasidebuffer)。查表時首先在快表中查,只有當(dāng)快表中沒有時才訪問內(nèi)存中的頁表,從而減少在內(nèi)存查表的次數(shù),達到提高查找速度的目的。26相聯(lián)存儲器和快表問題提出27作業(yè)習(xí)題:P134:5.2,物理地址計算有一系統(tǒng)采用頁式存儲管理,某個作業(yè)大小是4GB,頁大小為4KB,依次裝入內(nèi)存的第6、5、3、2塊,(1)畫出頁表;(2)試將虛地址5000,12000轉(zhuǎn)換成內(nèi)存地址。27作業(yè)習(xí)題:P134:5.2,285.4.3動態(tài)頁式管理(請求頁式管理)復(fù)習(xí):5.3覆蓋與交換技術(shù)實現(xiàn)內(nèi)存擴充的方法:采用覆蓋技術(shù)采用交換技術(shù)采用虛擬存儲技術(shù)常用的虛擬存儲技術(shù)請求分頁存儲管理請求分段存儲管理請求段頁式存儲管理285.4.3動態(tài)頁式管理(請求頁式管理)復(fù)習(xí):5.329動態(tài)頁式管理的思想及實現(xiàn)分頁內(nèi)存管理方式靜態(tài)分頁管理動態(tài)分頁管理靜態(tài)分頁管理基本思想:進程開始執(zhí)行前,將全部頁裝入內(nèi)存。動態(tài)分頁管理(請求頁式管理)基本思想:進程開始執(zhí)行前,只需裝入即將運行的頁面,然后根據(jù)需要載入其他頁面。29動態(tài)頁式管理的思想及實現(xiàn)分頁內(nèi)存管理方式30請求分頁管理要解決的問題不在內(nèi)存的頁什么時候調(diào)入內(nèi)存?(調(diào)入策略)如何知道要訪問的頁不在內(nèi)存?不在內(nèi)存的頁在外存的什么地方?(頁表)當(dāng)頁調(diào)入內(nèi)存時,內(nèi)存沒有空閑塊時,應(yīng)覆蓋(淘汰)哪些頁?(淘汰策略)被覆蓋(淘汰)的頁是否需要回寫到輔存?(頁表)30請求分頁管理要解決的問題31請求頁式管理的調(diào)入策略預(yù)測調(diào)頁:分析預(yù)測,運行前調(diào)入系統(tǒng)根據(jù)作業(yè)運行的情況,預(yù)測哪些頁將要運行,在其運行之前先行調(diào)入內(nèi)存,這樣在程序運行的過程中就不會出現(xiàn)缺頁中斷。缺點:系統(tǒng)無法預(yù)計系統(tǒng)中作業(yè)的運行情況,難以實現(xiàn)。請求調(diào)頁(請求分頁):缺頁請求,運行時調(diào)入進程在執(zhí)行的過程中,發(fā)現(xiàn)要執(zhí)行的程序或處理的數(shù)據(jù)不在內(nèi)存,向系統(tǒng)提出調(diào)入相應(yīng)程序的請求,系統(tǒng)響應(yīng)用戶的請求將它所請求的頁調(diào)入內(nèi)存。31請求頁式管理的調(diào)入策略32請求頁式管理的頁表結(jié)構(gòu)頁表:反映該頁是否在內(nèi)存,在外存的位置,在內(nèi)存的時間的長短,是否需要回寫等。頁號:塊號:中斷位:0表示該頁在內(nèi)存,1示該頁不在內(nèi)存(需要缺頁中斷)輔存地址:該頁在輔存的位置修改位:0表示該頁調(diào)入內(nèi)存后沒有修改,1表示頁調(diào)入內(nèi)存后修改過引用位:0表示最近沒有被訪問,1表示最近被訪問過頁號塊號中斷位輔存地址修改位引用位請求分頁的頁表結(jié)構(gòu)……32請求頁式管理的頁表結(jié)構(gòu)頁號塊號中斷位輔33補充:多級頁表二級頁表問題:頁表占用存儲空間太大解決:將頁表也分頁后,對頁表占用的存儲空間的分配也采用動態(tài)方式分配(部分分配),提高內(nèi)存利用率。頁表頁:將頁表分頁,稱為頁表頁,大小與頁面長度相同。頁目錄表:為頁表頁建立的地址索引表稱為頁目錄表。二級頁表機制:頁目錄表是一級頁表、頁表頁是二級頁表,共同構(gòu)成二級頁表機制。33補充:多級頁表二級頁表34二級頁表結(jié)構(gòu)34二級頁表結(jié)構(gòu)35具有二級頁表的地址結(jié)構(gòu)35具有二級頁表的地址結(jié)構(gòu)36二級頁表機制的地址變換36二級頁表機制的地址變換375.4.4請求頁式管理的頁面置換算法當(dāng)要將輔存中的一頁面并送入到全滿的內(nèi)存中時,必須把已在內(nèi)存中的某一頁淘汰掉。用來選擇淘汰哪一頁的規(guī)則叫做置換算法,也稱為淘汰算法。常用算法:先進先出算法FIFO:淘汰先調(diào)入內(nèi)存的頁最久未使用淘汰算法LRU:淘汰未被訪問的頁中時間最長的頁最近未使用淘汰算法NUR:淘汰第1個最近未被訪問的頁(淘汰頁表中第一個訪問位為0的頁)最不經(jīng)常使用頁面淘汰算法(LFU):淘汰那些到當(dāng)前時間為止訪問次數(shù)最少的頁。頁表中增加一個訪問記數(shù)器。最佳算法:當(dāng)要調(diào)入一新頁而必須淘汰一舊頁時,所淘汰的頁是以后不再使用的,或者是以后相當(dāng)長的時間內(nèi)不會使用的。這種算法是不可能的。頁面淘汰算法優(yōu)劣的衡量標準:缺頁中斷率f’f’=f/a(a是總的頁面訪問次數(shù),f是缺頁中斷次數(shù))375.4.4請求頁式管理的頁面置換算法當(dāng)要將輔存中的一頁38【例】一個進程已分到4個頁幀(塊)(M=4),其頁表如下表所示,當(dāng)進程訪問第4頁時產(chǎn)生缺頁中斷,請分別用FIFO、LRU、NRU算法決定將哪一頁淘汰?是否需要回寫?

頁表:頁號頁幀裝入時間最近訪問時間訪問位修改位

2060161011113016000022616210332016311FIFO:淘汰最先調(diào)入的頁面(頁幀為3的頁)∵修改位為1,∴要回寫。LRU:淘汰最久未訪問的頁(頁幀為1的頁)∵修改位為0,∴不要回寫。NRU:淘汰最近未使用的頁,淘汰第一個訪問位為0的頁(頁幀為0的頁)∵修改位為1,∴要回寫。38【例】一個進程已分到4個頁幀(塊)(M=4),其頁表如下39【例】對訪問串:1、2、3、4、1、2、5、1、2、3、4、5,指出在駐留集大小分別為3和4時,使用FIFO(先進先出)和LRU(最久未使用)置換算法的缺頁率,結(jié)果說明了什么?(設(shè)駐留集M表示分給該作業(yè)的內(nèi)存塊數(shù))分析:39【例】對訪問串:1、2、3、4、1、2、5、1、2、3、40M=3,F(xiàn)IFO淘汰先調(diào)入內(nèi)存的頁M=4,F(xiàn)IFO40M=3,F(xiàn)IFOM=4,F(xiàn)IFO41剛被訪問最久未被訪問M=3,LRU淘汰最久未使用的頁M=4,LRU調(diào)整順序41剛被訪問最久未被訪問M=3,LRUM=4,LRU調(diào)整42解

FIFO:

M=3f’=

f/a=9/12=75% M=4f’=10/12≈83%

LRU:

M=3f’=

f/a=10/12≈83%M=4f’=

f/a=8/12≈67%Belady異?,F(xiàn)象:對于FIFO算法,有時會出現(xiàn)當(dāng)M增加時缺頁次數(shù)不是減少,反而增加的現(xiàn)象。42解FIFO:43課堂練習(xí):設(shè)頁面走向為:2、3、2、1、5、2、4、5、3、2、5、2,頁幀M=3,試用FIFO和LRU兩種算法分別計算訪問過程中的缺頁率。43課堂練習(xí):44補充:抖動抖動主存和輔存之間的頻繁的頁面置換現(xiàn)象稱為抖動,也稱為顛簸,其導(dǎo)致系統(tǒng)效率急劇下降。產(chǎn)生抖動的原因:系統(tǒng)的淘汰算法不合理從而導(dǎo)致剛淘汰的頁面馬上又要訪問的頻繁的頁面置換狀態(tài)。系統(tǒng)在考慮置換算法時既要考慮有盡可能少的缺頁率、置換算法的簡單性、還要盡量避免系統(tǒng)抖動。44補充:抖動抖動455.4.5頁的共享與保護頁面共享(各進程中統(tǒng)一頁號)455.4.5頁的共享與保護頁面共享(各進程中統(tǒng)一頁號)46分頁管理的存儲保護有兩種方式:一是由CPU提供的越界保護,當(dāng)?shù)刂酚成錂C構(gòu)分離出頁號和頁內(nèi)位移后,若0≤頁號<用戶程序的總頁數(shù)則訪問合法,否則訪問越界。二是由操作系統(tǒng)在頁表中為頁的存取權(quán)限設(shè)置的保護位,表示該頁的存取控制權(quán)限,如r表示可讀,w表示可讀,e表示可執(zhí)行。當(dāng)有一程序訪問該頁時,系統(tǒng)就按存取控制位設(shè)置的權(quán)限實施存取控制。46分頁管理的存儲保護有兩種方式:475.4.6頁式管理的優(yōu)缺點優(yōu)點:有效地解決了碎片問題;提供了內(nèi)存和外存統(tǒng)一管理的虛擬存儲器實現(xiàn)方式,使用戶可以利用的存儲空間大大增加。缺點:要求有相應(yīng)的硬件支持;增加了系統(tǒng)開銷(如缺頁中斷處理);如置換算法選擇不當(dāng),可能會產(chǎn)生抖動現(xiàn)象;每個進程的最后總有一部分空間得不到利用。475.4.6頁式管理的優(yōu)缺點優(yōu)點:48作業(yè)習(xí)題:缺頁次數(shù)及中斷率的計算。在一個請求分頁虛擬存儲管理系統(tǒng)中,一個程序頁面的訪問序列是1、2、3、4、2、1、5、2、1、2、3、5、2、1、4、2、3。分別用FIFO和LRU算法,對分配給程序3個頁框和4個頁框的情況下,求出缺頁次數(shù)和缺頁中斷率。48作業(yè)習(xí)題:缺頁次數(shù)及中斷率的計算。495.5分段內(nèi)存管理

段式管理的引入問題的提出由于分頁方式只考慮程序空間按頁的尺寸切分,沒有考慮各連續(xù)的頁之間是否在邏輯上也是連續(xù)的。邏輯上的不連續(xù)導(dǎo)致請調(diào)一頁,可能只用到該頁中的一部分;不方便實現(xiàn)段的共享和保護。解決辦法段式管理,保留程序在邏輯上的完整性495.5分段內(nèi)存管理

段式管理的引入問題的提出505.5.1段式管理的基本原理段式管理原理作業(yè):按邏輯意義分段內(nèi)存分配段內(nèi)在內(nèi)存中連續(xù)各段在內(nèi)存中可連續(xù),也可不連續(xù)505.5.1段式管理的基本原理段式管理原理51段程序按邏輯上有完整意義的段來劃分,稱為邏輯段。例如主程序、子程序、數(shù)據(jù)等都可各成一段。每個段的大小可以不相等。邏輯地址程序中的邏輯地址由段號和段內(nèi)位移兩部分(二維)組成。段號將一個程序的所有邏輯段從0開始編號,稱為段號。段內(nèi)地址每一個邏輯段都是從0開始編址,稱為段內(nèi)地址。段號S段內(nèi)位移W程序邏輯地址—段式地址5.5.2段式管理的實現(xiàn)原理51段段號S段內(nèi)位移W程序邏輯地址—段式地址5.5.2段式管52代碼段(第2段)數(shù)據(jù)段(第1段)

棧段(第0段)某行代碼邏輯地址:2:2K段號01K-11…段內(nèi)地址1K2K02K-11…05K-11…段式管理地址52代碼段(第2段)數(shù)據(jù)段(第1段)棧段(第0段)某53段式管理的分配與回收參考動態(tài)分區(qū)管理段式管理中使用的數(shù)據(jù)結(jié)構(gòu)段表:記錄內(nèi)存分配情況段表屬性段號段首址段長中斷位引用位改變位保護位段式管理地址映射機制由邏輯地址得到段號S和段內(nèi)位移W;查段表得到物理起址B,加上W即得物理地址。53段式管理的分配與回收545455段的共享與保護段的共享實現(xiàn):段表中設(shè)置指向共享段的地址指針55段的共享與保護段的共享56段保護:地址越界保護:段起址≤物理地址<段起址+段長段式管理中,地址越界引發(fā)的中斷稱為越段中斷。但如果系統(tǒng)允許段動態(tài)增長,則應(yīng)修改段表中的段長表項值。此時的段表數(shù)據(jù)結(jié)構(gòu)如表所示。設(shè)置段的存取保護位:可讀、可寫、可執(zhí)行等。相比較頁的存取保護,段的存取保護更易于實現(xiàn),解決了分頁管理中由于頁在邏輯上不具備邏輯完整性,當(dāng)一頁的內(nèi)容涉及多個邏輯模塊時,該頁的存取控制難以實現(xiàn)的難題。段號段長度起始地址允許動態(tài)增長內(nèi)/外存訪問位…56段保護:段號段長度起始地址允許動態(tài)增長內(nèi)/外存訪問位…575.5.3分段的優(yōu)缺點分段的優(yōu)缺點:見下分段和分頁的比較不同(1)段根據(jù)用戶的需要劃分,便于存儲保護和信息的共享;頁是為了管理內(nèi)存的方便而劃分的,頁的保護和共享受到限制。(2)頁的大小固定不變,由系統(tǒng)決定;段的大小是不固定的,由其完成的功能決定。(3)段式提供的是二維地址空間;頁式提供的是一維地址空間。(4)段式管理可能產(chǎn)生內(nèi)存外碎片,頁式管理消除了外碎片,但有頁內(nèi)碎片。575.5.3分段的優(yōu)缺點分段的優(yōu)缺點:見下58相同(5)段式與頁式一樣,都需要在進程運行前,全部信息裝內(nèi)存,內(nèi)存利用不夠充分。(6)段式與頁式一樣,為實現(xiàn)地址變換,CPU要花費較大的開銷,為實現(xiàn)管理要提供更多的表格。(7)段式與頁式一樣,尋址都需要訪問二次內(nèi)存,如果要提高訪問速度,都需要在相聯(lián)存儲器中設(shè)置快表。58相同59請求段式管理的基本思想段式存儲也可實現(xiàn)虛擬存儲管理,稱為請求段式管理。請求段式管理的基本思想把作業(yè)的所有分段的副本都存放在外存上,當(dāng)作業(yè)被調(diào)度投入運行時,首先把當(dāng)前需要用的一段或幾段裝入內(nèi)存,在執(zhí)行過程中,訪問到不在內(nèi)存的段時,再通過缺段中斷機構(gòu)把它從外存上調(diào)入。59請求段式管理的基本思想段式存儲也可實現(xiàn)虛擬存儲管理,稱為60請求段式管理的實現(xiàn)原理

請求段表的結(jié)構(gòu)60請求段式管理的實現(xiàn)原理請求段表的結(jié)構(gòu)61請求段式管理的地址變換過程(*)61請求段式管理的地址變換過程(*)625.5.4請求段頁式管理的基本思想問題引入段式管理優(yōu)點:能夠反映程序的邏輯結(jié)構(gòu)。頁式管理優(yōu)點:有利于提高內(nèi)存利用率。請求段式管理優(yōu)點:保留段式優(yōu)點,且只部分調(diào)入請求段式管理問題:調(diào)入段時需全部調(diào)入,會產(chǎn)生碎片。請求頁式管理優(yōu)點:保留頁式優(yōu)點,且只部分調(diào)入請求頁式管理問題:邏輯上沒有完整性,不利于共享。解決:保留上述方式優(yōu)點,克服缺點段、頁相結(jié)合625.5.4請求段頁式管理的基本思想問題引入635.5.5請求段頁式管理的實現(xiàn)原理地址的構(gòu)成邏輯上分段:便于共享和保護虛地址組成(二維):段號、段內(nèi)位移(頁號、頁內(nèi)位移)內(nèi)存分塊:便于分配和內(nèi)存的利用。段號S段內(nèi)位移頁號P頁內(nèi)位移W分解為635.5.5請求段頁式管理的實現(xiàn)原理地址的構(gòu)成段號S段內(nèi)位64段表、段頁表(頁表)段號狀態(tài)頁表大小頁表起址給進程分配的段表頁號狀態(tài)塊號給第X段分配的頁表(段頁表)64段表、段頁表(頁表)段號狀態(tài)頁表大小頁表起址給進程分配的65地址變換過程進程A對應(yīng)的程序空間分段012給進程A分配的段表段頁式內(nèi)存管理的段表、頁表和內(nèi)存的關(guān)系邏輯上分段物理上分塊65地址變換過程進程A對應(yīng)的程序空間分段012給進程A分配的66段頁式管理地址映射根據(jù)程序的邏輯地址得到段號和段內(nèi)位移,并將段內(nèi)位移根據(jù)頁容量分解為頁號和頁內(nèi)位移。根據(jù)該進程的段表寄存器得到段表起始地址,在段表中查找該段號的表項,得到頁表起始地址。根據(jù)頁號在頁表中查找該頁對應(yīng)的內(nèi)存塊號。根據(jù)塊號計算得到該塊的起始地址。將塊的起始地址加上頁內(nèi)位移,得到物理地址。66段頁式管理地址映射67段頁式存儲管理中每次存取須經(jīng)過三次主存訪問第一次:訪問段表,得到頁表起始地址;第二次:訪問頁表,得到主存塊號;第三次:存取。67段頁式存儲管理中每次存取須經(jīng)過三次主存訪問68作業(yè)習(xí)題P135:5.1968作業(yè)習(xí)題P135:5.19695.3覆蓋與交換技術(shù)(內(nèi)存擴充)問題的提出物理存儲器物理存儲器結(jié)構(gòu)是一維的線性空間,容量有限。用戶程序用戶程序的大小,可能比內(nèi)存容量小,也可能比內(nèi)存容量大,有時候要大得多。解決辦法內(nèi)存擴充15.3覆蓋與交換技術(shù)(內(nèi)存擴充)問題的提出70實現(xiàn)內(nèi)存擴充的方法:采用覆蓋技術(shù)采用交換技術(shù)采用虛擬存儲技術(shù)2實現(xiàn)內(nèi)存擴充的方法:71覆蓋技術(shù)將程序結(jié)構(gòu)分層第0層設(shè)置為常駐內(nèi)存區(qū)。第一層起,為該層中的多個模塊設(shè)置一個共享覆蓋區(qū),其容量與該層中最大模塊的容量相當(dāng)。程序執(zhí)行到哪個模塊就將該模塊送到它所共享的覆蓋區(qū)中。5.3.1覆蓋技術(shù)3覆蓋技術(shù)5.3.1覆蓋技術(shù)72A、B、C、D、E、F總計190K,實際分配110K4A、B、C、D、E、F總計190K,實際分配110K73采用交換技術(shù)在系統(tǒng)盤上開辟一個專門的空間作為內(nèi)存的擴充,這部分磁盤空間稱為“交換區(qū)”或“對換區(qū)”,由內(nèi)存管理模塊進行管理。交換區(qū)的作用是當(dāng)內(nèi)存空間不夠時,將暫時不用的進程映像調(diào)到磁盤交換區(qū),以騰出內(nèi)存空間,當(dāng)再度用到被調(diào)出的這部分進程映像時再將其調(diào)回內(nèi)存。5.3.2交換技術(shù)5采用交換技術(shù)5.3.2交換技術(shù)74交換技術(shù)6交換技術(shù)751.虛擬存儲器的基本思想問題作業(yè)在運行時暫時不用的程序和數(shù)據(jù),全部駐留于內(nèi)存中降低了內(nèi)存利用率。解決方法當(dāng)作業(yè)開始運行時,將當(dāng)前使用的部分先裝入內(nèi)存,其余部分先存放在外存中,等到用到這些信息時,再由系統(tǒng)自動把它們裝入到內(nèi)存中,這就是虛擬存儲器的基本思想。概念:虛擬存儲器(虛擬內(nèi)存)是操作系統(tǒng)采用虛擬技術(shù),在不改變物理內(nèi)存實際大小的情況下提供的邏輯上被擴充了的內(nèi)存。這種物理上不具備而邏輯上具備的內(nèi)存就是虛擬內(nèi)存。補充:虛擬存儲技術(shù)71.虛擬存儲器的基本思想補充:虛擬存儲技術(shù)762.虛擬存儲技術(shù)的依據(jù)局部性理論(8/2原理)時間局部性:是指程序即將用到的信息可能就是目前正在使用的信息??臻g局部性:是指程序即將用到的信息可能與目前正在使用的信息在空間上相鄰或者臨近。局部性理論的應(yīng)用意義虛擬存儲管理:程序執(zhí)行時往往會遵循局部原理(時間、空間)訪問內(nèi)存,將部分進程存入內(nèi)存,結(jié)合外存實現(xiàn)虛擬存儲。82.虛擬存儲技術(shù)的依據(jù)773.虛擬存儲技術(shù)的硬件技術(shù)基礎(chǔ)相當(dāng)數(shù)量的外存足以存放多個用戶程序一定容量的內(nèi)存程序運行過程中,必須有一部分放在內(nèi)存地址變換機構(gòu)實現(xiàn)邏輯地址到物理地址的變換93.虛擬存儲技術(shù)的硬件技術(shù)基礎(chǔ)785.4頁式管理

5.4.1頁式管理的基本原理頁式管理的引入分區(qū)存儲管理的主要問題是碎片問題。問題描述 在采用分區(qū)存儲管理的系統(tǒng)中,會形成一些非常小的分區(qū),最終這些非常小的分區(qū)不能被系統(tǒng)中的任何用戶程序利用而浪費。問題產(chǎn)生原因作業(yè)要求分配的空間連續(xù),主存有足夠的空間但因不連續(xù)而不能分配解決問題的思路程序適應(yīng)主存。將程序分開存放—分頁存儲管理技術(shù)。105.4頁式管理

5.4.1頁式管理的基本原理頁式管理79分頁的思想頁(虛擬頁):程序地址空間分成大小相等的頁面塊(內(nèi)存塊、頁塊、頁禎、內(nèi)存頁面):把內(nèi)存分成與頁面大小相等的塊。思想:當(dāng)一個用戶程序裝入內(nèi)存時,針對。一每一頁分配一個內(nèi)存塊個作業(yè)的若干連續(xù)的頁,可以分配到內(nèi)存中若干不連續(xù)的塊中。11分頁的思想80內(nèi)存頁面分配與回收頁式存儲管理的數(shù)據(jù)結(jié)構(gòu)(1)頁表:頁表包括用戶程序空間的頁面與內(nèi)存塊的對應(yīng)關(guān)系。頁表每個進程至少一張。5.4.2靜態(tài)頁面管理12內(nèi)存頁面分配與回收5.4.2靜態(tài)頁面管理81(2)請求表:表明各進程與其分頁的頁面之間的關(guān)聯(lián)。請求表整個系統(tǒng)一張。圖5.16請求表示例13(2)請求表:表明各進程與其分頁的頁面之間的關(guān)聯(lián)。請求表82(3)存儲頁面表:表示內(nèi)存的分配情況。存儲頁面表一個系統(tǒng)一張,可用位示圖表示。圖5.17位示圖14(3)存儲頁面表:表示內(nèi)存的分配情況。存儲頁面表一個系統(tǒng)835.4.2靜態(tài)頁面管理2.分配算法利用頁表、請求表、位示圖進行分配。圖5.18頁面分配算法流圖155.4.2靜態(tài)頁面管理2.分配算法圖5.18頁面分配算法843.頁式地址變換(1)虛地址(線性地址、邏輯地址)(2)分頁地址映射機制虛地址切分:頁號與頁內(nèi)位移劃分頁號和頁內(nèi)地址的依椐:頁的大小。2X=頁大小,X即為頁號的最低位CPU字長為16位,頁長為1K的地址分割163.頁式地址變換CPU字長為16位,85movdx,3badh…………頁號01234567第0頁第1頁01023010231…頁式管理的地址小結(jié):頁大小決定頁內(nèi)位移(地址)的位數(shù),所以在地址劃分時以頁大小作為劃分依據(jù)頁內(nèi)地址頁大小為1K,以字節(jié)(B)為單位劃分,可劃分為1024個單位,進行編址,表示為0-1023,要表示1023需要10位二進制(1111111111),1KB=210B17頁號01234567第0頁第1頁01023010231…86二進制表示虛地址頁號頁內(nèi)位移十六進制表示頁號、頁內(nèi)位移18二進制表示虛地址頁號頁內(nèi)位移十六進制表示頁號、頁內(nèi)位移87(3)地址變換使用二進制方法求物理地址將邏輯地址線性分割求出頁號P和頁內(nèi)位移W:若邏輯地址以十六進制、八進制的形式給出,將邏輯地址轉(zhuǎn)換成二進制;按頁的大小分離出頁號P和位移量W(低位部分是位移量,高位部分是頁號);將位移量直接復(fù)制到內(nèi)存地址寄存器的低位部分;以頁號查頁表,得到對應(yīng)塊號,將塊號轉(zhuǎn)換成二進制數(shù)填入地址寄存器的高位部分,從而形成內(nèi)存地址。19(3)地址變換88movdx,3badh頁號01234567頁號塊號07B0011101110101101塊號OS0123456798BACD~~0101115P=7HW=3ADH00000101101110101101虛地址3BAD,頁面大小2K,用二進制方法求物理地址物理地址=5BADH20movdx,3badh頁號01234567頁號塊號0F89使用十進制方法求物理地址根據(jù)邏輯地址求出頁號P和頁內(nèi)位移W;頁號P=邏輯地址%頁大小(%表示整除)頁內(nèi)位移W=邏輯地址mod頁大小根據(jù)頁號查頁表得塊號B;物理地址=塊號B×頁大小+頁內(nèi)位移W公式說明物理地址=塊起始地址+塊內(nèi)位移W塊起始地址=塊長×塊號 塊長=頁長塊內(nèi)位移=頁內(nèi)位移21使用十進制方法求物理地址90塊號OS0123456798BACD~~第0塊起始地址:0第1塊起始地址:塊號*頁長=1*2K塊大?。?K02K4K第2塊起始地址:塊號*頁長=2*2K塊起始地址計算movdx,3badh…………頁號0123456722塊號OS0123456798BACD~~第0塊起始地址:91【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、A、5塊,試將虛地址0AFEH,1ADDH轉(zhuǎn)換成內(nèi)存地址。解:求虛地址0AFEH的物理地址:0000

101011111110P=1W=01011111110MR=0100101011111110=4AFEH求虛地址1ADDH的物理地址:0001101011011101P=3W=01011011101MR=0010101011011101=2ADDH23【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,92【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、10、5塊,試將虛地址7145,3412轉(zhuǎn)換成內(nèi)存地址。解:轉(zhuǎn)換虛地址3412:P=3412%2048=1W=3412mod2048=1364MR=9*2048+1364=19796轉(zhuǎn)換虛地址7145:P=7145%2048=3W=7145mod2048=1001MR=5*2048+1001=11241問題:塊號若為十六進制的字母表示,MR如何計算?(十六進制轉(zhuǎn)換成十進制)24【例】:有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,例:考慮一個由8個頁面,每頁有1024個字節(jié)組成的邏輯空間,把它裝入到有32個物理塊的存儲器中,問:(1)邏輯地址至少需要多少二進制位表示?(2)物理地址至少需要多少二進制位表示?分析:邏輯地址結(jié)構(gòu)由兩個部分組成: 前一部分表示該地址所在頁面的頁號P; 后一部分表示頁內(nèi)地址(頁內(nèi)位移)W。物理地址中塊號的地址位數(shù)決定了塊的數(shù)量。由于頁式存儲管理內(nèi)存空間塊的大小與頁面大小相同,所以物理地址中塊內(nèi)地址與邏輯地址中的頁內(nèi)地址位數(shù)相同。解:因為頁面數(shù)為8=2^3,故需要3位二進制數(shù)表示。每頁有1024個字節(jié),1024=2^10,于是頁內(nèi)地址需要10位二進制數(shù)表示。32個物理塊,需要5位二進制數(shù)表示(32=2^5)。(1)頁的邏輯地址由頁號和頁內(nèi)地址組成,所以需要3+10=13位二進制數(shù)表示。(2)頁的物理地址由塊號和頁內(nèi)地址的拼接,所以需要5+10=15位二進制數(shù)表示。例:考慮一個由8個頁面,每頁有1024個字節(jié)組成的邏輯空間,94相聯(lián)存儲器和快表問題提出在頁式存儲技術(shù)中,每訪問一次內(nèi)存,就要做兩次訪問內(nèi)存的工作:查頁表時(頁表在內(nèi)存中);訪問程序時。為了提高查頁表的速度,將當(dāng)前常用的一部分頁表內(nèi)容存放到高速緩存(相聯(lián)存儲器)中,存放在相聯(lián)存儲器中的頁表稱之為快表(TLB-translationlookasidebuffer)。查表時首先在快表中查,只有當(dāng)快表中沒有時才訪問內(nèi)存中的頁表,從而減少在內(nèi)存查表的次數(shù),達到提高查找速度的目的。26相聯(lián)存儲器和快表問題提出95作業(yè)習(xí)題:P134:5.2,物理地址計算有一系統(tǒng)采用頁式存儲管理,某個作業(yè)大小是4GB,頁大小為4KB,依次裝入內(nèi)存的第6、5、3、2塊,(1)畫出頁表;(2)試將虛地址5000,12000轉(zhuǎn)換成內(nèi)存地址。27作業(yè)習(xí)題:P134:5.2,965.4.3動態(tài)頁式管理(請求頁式管理)復(fù)習(xí):5.3覆蓋與交換技術(shù)實現(xiàn)內(nèi)存擴充的方法:采用覆蓋技術(shù)采用交換技術(shù)采用虛擬存儲技術(shù)常用的虛擬存儲技術(shù)請求分頁存儲管理請求分段存儲管理請求段頁式存儲管理285.4.3動態(tài)頁式管理(請求頁式管理)復(fù)習(xí):5.397動態(tài)頁式管理的思想及實現(xiàn)分頁內(nèi)存管理方式靜態(tài)分頁管理動態(tài)分頁管理靜態(tài)分頁管理基本思想:進程開始執(zhí)行前,將全部頁裝入內(nèi)存。動態(tài)分頁管理(請求頁式管理)基本思想:進程開始執(zhí)行前,只需裝入即將運行的頁面,然后根據(jù)需要載入其他頁面。29動態(tài)頁式管理的思想及實現(xiàn)分頁內(nèi)存管理方式98請求分頁管理要解決的問題不在內(nèi)存的頁什么時候調(diào)入內(nèi)存?(調(diào)入策略)如何知道要訪問的頁不在內(nèi)存?不在內(nèi)存的頁在外存的什么地方?(頁表)當(dāng)頁調(diào)入內(nèi)存時,內(nèi)存沒有空閑塊時,應(yīng)覆蓋(淘汰)哪些頁?(淘汰策略)被覆蓋(淘汰)的頁是否需要回寫到輔存?(頁表)30請求分頁管理要解決的問題99請求頁式管理的調(diào)入策略預(yù)測調(diào)頁:分析預(yù)測,運行前調(diào)入系統(tǒng)根據(jù)作業(yè)運行的情況,預(yù)測哪些頁將要運行,在其運行之前先行調(diào)入內(nèi)存,這樣在程序運行的過程中就不會出現(xiàn)缺頁中斷。缺點:系統(tǒng)無法預(yù)計系統(tǒng)中作業(yè)的運行情況,難以實現(xiàn)。請求調(diào)頁(請求分頁):缺頁請求,運行時調(diào)入進程在執(zhí)行的過程中,發(fā)現(xiàn)要執(zhí)行的程序或處理的數(shù)據(jù)不在內(nèi)存,向系統(tǒng)提出調(diào)入相應(yīng)程序的請求,系統(tǒng)響應(yīng)用戶的請求將它所請求的頁調(diào)入內(nèi)存。31請求頁式管理的調(diào)入策略100請求頁式管理的頁表結(jié)構(gòu)頁表:反映該頁是否在內(nèi)存,在外存的位置,在內(nèi)存的時間的長短,是否需要回寫等。頁號:塊號:中斷位:0表示該頁在內(nèi)存,1示該頁不在內(nèi)存(需要缺頁中斷)輔存地址:該頁在輔存的位置修改位:0表示該頁調(diào)入內(nèi)存后沒有修改,1表示頁調(diào)入內(nèi)存后修改過引用位:0表示最近沒有被訪問,1表示最近被訪問過頁號塊號中斷位輔存地址修改位引用位請求分頁的頁表結(jié)構(gòu)……32請求頁式管理的頁表結(jié)構(gòu)頁號塊號中斷位輔101補充:多級頁表二級頁表問題:頁表占用存儲空間太大解決:將頁表也分頁后,對頁表占用的存儲空間的分配也采用動態(tài)方式分配(部分分配),提高內(nèi)存利用率。頁表頁:將頁表分頁,稱為頁表頁,大小與頁面長度相同。頁目錄表:為頁表頁建立的地址索引表稱為頁目錄表。二級頁表機制:頁目錄表是一級頁表、頁表頁是二級頁表,共同構(gòu)成二級頁表機制。33補充:多級頁表二級頁表102二級頁表結(jié)構(gòu)34二級頁表結(jié)構(gòu)103具有二級頁表的地址結(jié)構(gòu)35具有二級頁表的地址結(jié)構(gòu)104二級頁表機制的地址變換36二級頁表機制的地址變換1055.4.4請求頁式管理的頁面置換算法當(dāng)要將輔存中的一頁面并送入到全滿的內(nèi)存中時,必須把已在內(nèi)存中的某一頁淘汰掉。用來選擇淘汰哪一頁的規(guī)則叫做置換算法,也稱為淘汰算法。常用算法:先進先出算法FIFO:淘汰先調(diào)入內(nèi)存的頁最久未使用淘汰算法LRU:淘汰未被訪問的頁中時間最長的頁最近未使用淘汰算法NUR:淘汰第1個最近未被訪問的頁(淘汰頁表中第一個訪問位為0的頁)最不經(jīng)常使用頁面淘汰算法(LFU):淘汰那些到當(dāng)前時間為止訪問次數(shù)最少的頁。頁表中增加一個訪問記數(shù)器。最佳算法:當(dāng)要調(diào)入一新頁而必須淘汰一舊頁時,所淘汰的頁是以后不再使用的,或者是以后相當(dāng)長的時間內(nèi)不會使用的。這種算法是不可能的。頁面淘汰算法優(yōu)劣的衡量標準:缺頁中斷率f’f’=f/a(a是總的頁面訪問次數(shù),f是缺頁中斷次數(shù))375.4.4請求頁式管理的頁面置換算法當(dāng)要將輔存中的一頁106【例】一個進程已分到4個頁幀(塊)(M=4),其頁表如下表所示,當(dāng)進程訪問第4頁時產(chǎn)生缺頁中斷,請分別用FIFO、LRU、NRU算法決定將哪一頁淘汰?是否需要回寫?

頁表:頁號頁幀裝入時間最近訪問時間訪問位修改位

2060161011113016000022616210332016311FIFO:淘汰最先調(diào)入的頁面(頁幀為3的頁)∵修改位為1,∴要回寫。LRU:淘汰最久未訪問的頁(頁幀為1的頁)∵修改位為0,∴不要回寫。NRU:淘汰最近未使用的頁,淘汰第一個訪問位為0的頁(頁幀為0的頁)∵修改位為1,∴要回寫。38【例】一個進程已分到4個頁幀(塊)(M=4),其頁表如下107【例】對訪問串:1、2、3、4、1、2、5、1、2、3、4、5,指出在駐留集大小分別為3和4時,使用FIFO(先進先出)和LRU(最久未使用)置換算法的缺頁率,結(jié)果說明了什么?(設(shè)駐留集M表示分給該作業(yè)的內(nèi)存塊數(shù))分析:39【例】對訪問串:1、2、3、4、1、2、5、1、2、3、108M=3,F(xiàn)IFO淘汰先調(diào)入內(nèi)存的頁M=4,F(xiàn)IFO40M=3,F(xiàn)IFOM=4,F(xiàn)IFO109剛被訪問最久未被訪問M=3,LRU淘汰最久未使用的頁M=4,LRU調(diào)整順序41剛被訪問最久未被訪問M=3,LRUM=4,LRU調(diào)整110解

FIFO:

M=3f’=

f/a=9/12=75% M=4f’=10/12≈83%

LRU:

M=3f’=

f/a=10/12≈83%M=4f’=

f/a=8/12≈67%Belady異常現(xiàn)象:對于FIFO算法,有時會出現(xiàn)當(dāng)M增加時缺頁次數(shù)不是減少,反而增加的現(xiàn)象。42解FIFO:111課堂練習(xí):設(shè)頁面走向為:2、3、2、1、5、2、4、5、3、2、5、2,頁幀M=3,試用FIFO和LRU兩種算法分別計算訪問過程中的缺頁率。43課堂練習(xí):112補充:抖動抖動主存和輔存之間的頻繁的頁面置換現(xiàn)象稱為抖動,也稱為顛簸,其導(dǎo)致系統(tǒng)效率急劇下降。產(chǎn)生抖動的原因:系統(tǒng)的淘汰算法不合理從而導(dǎo)致剛淘汰的頁面馬上又要訪問的頻繁的頁面置換狀態(tài)。系統(tǒng)在考慮置換算法時既要考慮有盡可能少的缺頁率、置換算法的簡單性、還要盡量避免系統(tǒng)抖動。44補充:抖動抖動1135.4.5頁的共享與保護頁面共享(各進程中統(tǒng)一頁號)455.4.5頁的共享與保護頁面共享(各進程中統(tǒng)一頁號)114分頁管理的存儲保護有兩種方式:一是由CPU提供的越界保護,當(dāng)?shù)刂酚成錂C構(gòu)分離出頁號和頁內(nèi)位移后,若0≤頁號<用戶程序的總頁數(shù)則訪問合法,否則訪問越界。二是由操作系統(tǒng)在頁表中為頁的存取權(quán)限設(shè)置的保護位,表示該頁的存取控制權(quán)限,如r表示可讀,w表示可讀,e表示可執(zhí)行。當(dāng)有一程序訪問該頁時,系統(tǒng)就按存取控制位設(shè)置的權(quán)限實施存取控制。46分頁管理的存儲保護有兩種方式:1155.4.6頁式管理的優(yōu)缺點優(yōu)點:有效地解決了碎片問題;提供了內(nèi)存和外存統(tǒng)一管理的虛擬存儲器實現(xiàn)方式,使用戶可以利用的存儲空間大大增加。缺點:要求有相應(yīng)的硬件支持;增加了系統(tǒng)開銷(如缺頁中斷處理);如置換算法選擇不當(dāng),可能會產(chǎn)生抖動現(xiàn)象;每個進程的最后總有一部分空間得不到利用。475.4.6頁式管理的優(yōu)缺點優(yōu)點:116作業(yè)習(xí)題:缺頁次數(shù)及中斷率的計算。在一個請求分頁虛擬存儲管理系統(tǒng)中,一個程序頁面的訪問序列是1、2、3、4、2、1、5、2、1、2、3、5、2、1、4、2、3。分別用FIFO和LRU算法,對分配給程序3個頁框和4個頁框的情況下,求出缺頁次數(shù)和缺頁中斷率。48作業(yè)習(xí)題:缺頁次數(shù)及中斷率的計算。1175.5分段內(nèi)存管理

段式管理的引入問題的提出由于分頁方式只考慮程序空間按頁的尺寸切分,沒有考慮各連續(xù)的頁之間是否在邏輯上也是連續(xù)的。邏輯上的不連續(xù)導(dǎo)致請調(diào)一頁,可能只用到該頁中的一部分;不方便實現(xiàn)段的共享和保護。解決辦法段式管理,保留程序在邏輯上的完整性495.5分段內(nèi)存管理

段式管理的引入問題的提出1185.5.1段式管理的基本原理段式管理原理作業(yè):按邏輯意義分段內(nèi)存分配段內(nèi)在內(nèi)存中連續(xù)各段在內(nèi)存中可連續(xù),也可不連續(xù)505.5.1段式管理的基本原理段式管理原理119段程序按邏輯上有完整意義的段來劃分,稱為邏輯段。例如主程序、子程序、數(shù)據(jù)等都可各成一段。每個段的大小可以不相等。邏輯地址程序中的邏輯地址由段號和段內(nèi)位移兩部分(二維)組成。段號將一個程序的所有邏輯段從0開始編號,稱為段號。段內(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論