操作系統(tǒng)期末復(fù)習(xí)_第1頁
操作系統(tǒng)期末復(fù)習(xí)_第2頁
操作系統(tǒng)期末復(fù)習(xí)_第3頁
操作系統(tǒng)期末復(fù)習(xí)_第4頁
操作系統(tǒng)期末復(fù)習(xí)_第5頁
已閱讀5頁,還剩70頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

邏輯地址轉(zhuǎn)化物理地址過程邏輯地址以十六進制數(shù)給出根據(jù)頁大小劃分邏輯地址為頁號和頁內(nèi)地址以頁號查頁表,得到對應(yīng)內(nèi)存塊號物理地址=頁號拼接位移量邏輯地址以十進制數(shù)給出頁號=虛地址/頁大小位移量=虛地址mod頁大小以頁號查頁表,得到對應(yīng)內(nèi)存塊號物理地址=塊號×頁大小+位移量例1某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內(nèi)存為16KB。假定某時刻一用戶頁表中已調(diào)入內(nèi)存的頁面對應(yīng)的物理塊號如下表:頁號物理塊號051102437則邏輯地址0A5C(H)所對應(yīng)的物理地址為:_____例10A5CH=0000,1010,0101,1100B頁號為2,對應(yīng)塊號為4,物理地址:0001,0010,0101,1100即:125CH頁號物理塊號051102437例2設(shè)頁面大小為1K字節(jié),作業(yè)的0、1、2頁分別存放在第2、3、8塊中。求邏輯地址2500對應(yīng)的物理地址?則邏輯地址2500的頁號為2(2500/1024=2)頁內(nèi)地址為452(2500%1024=452)。查頁表可知第2頁對應(yīng)的物理塊號為8。將塊號8與頁內(nèi)地址452拼接(8×1024+452=8644)得到物理地址為8644。練習(xí)題1.一分頁存儲管理系統(tǒng)中邏輯地址長度為16位,頁面大小為1KB字節(jié),現(xiàn)有一邏輯地址為0A6FH,且第0、1、2、3、頁依次存放在物理塊3、7、11、10中。邏輯地址0A6FH對應(yīng)的物理地址是多少?邏輯地址0A6FH的二進制表示如下:頁號頁內(nèi)地址0000,1010,0110,1111由此可知邏輯地址0A6FH的頁號為2,該頁存放在第11號物理塊中,用十六進制表示塊號為B,所以物理地址為:0010,1110,0110,1111,即2E6FH。練習(xí)題2.有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、A、5塊,試將虛地址0AFEH,1ADDH轉(zhuǎn)換成內(nèi)存地址。虛地址0AFEH0000101011111110P=1W=01011111110PA=00100101011111110=4AFEH虛地址1ADDH0001101011011101P=3W=01011011101PA=0010101011011101

=2ADDH若在一分頁存儲管理系統(tǒng)中,某作業(yè)的頁表如右所示。已知頁面大小為1024字節(jié),試將邏輯地址0A5CH,07EFH,3000,5012轉(zhuǎn)化為相應(yīng)的物理地址。頁號塊號02132136對于邏輯地址0A5CH0A5CH=0000101001011100頁號2,對應(yīng)物理塊1物理地址為0000011001011100即065CH對于邏輯地址07EFH0A5CH=0000011111101111頁號1,對應(yīng)物理塊3物理地址為0000111111101111即0FEFH對于邏輯地址3000P=int(3000/1024)=2W=3000mod1024=952查頁表第2頁在第1塊,所以物理地址為1976。對于邏輯地址5012P=int(5012/1024)=4W=5012mod1024=916因頁號超過頁表長度,該邏輯地址非法。習(xí)題解答3有一系統(tǒng)采用頁式存儲管理,有一作業(yè)大小是8KB,頁大小為2KB,依次裝入內(nèi)存的第7、9、10、5塊,試將虛地址7145,3412轉(zhuǎn)換成內(nèi)存地址。虛地址3412P=3412%2048=1W=3412mod2048=1364MR=9*2048+1364=19796虛地址3412的內(nèi)存地址是:19796虛地址7145P=7145%2048=3W=7145mod2048=1001MR=5*2048+1001=11241虛地址7145的內(nèi)存地址是:112414.5.2分段系統(tǒng)的基本原理-地址變換機構(gòu)地址變換過程:進行地扯變換時,系統(tǒng)將邏輯地址中的段號S與段表長度進行比較,若段號超過了段表長度則產(chǎn)生越界中斷;否則根據(jù)段表始址和段號計算出該段對應(yīng)段表項的位置,從中讀出該段在內(nèi)存的起始地址,然后再檢查段內(nèi)地址是否超過該段的段長,若超過則同樣發(fā)出越界中斷信號;若未越界,則將該段的起始地址與段內(nèi)位移相加,從而得到了要訪問的物理地址。分段地址變換例設(shè)作業(yè)分為3段,0、1、2段長度分別為1K、800、600,分別存放在內(nèi)存6K、4K、8K開始的內(nèi)存區(qū)域。邏輯地址(2,100)的段號為2,段內(nèi)位移為100。其物理地址是多少?查段表可知第2段在內(nèi)存的起始地址8K。將起始地址與段內(nèi)位移相加,8K+100=8292,物理地址為8292。例子:給定段表如下,求下列對應(yīng)的內(nèi)存物理地址。1、[0,430]2、[3,400]3、[1,1]4、[2,500]段號段首址段長0219600123001429010031327580在一個段式存儲管理系統(tǒng)中,其段表如左表所示,求右表邏輯地址對應(yīng)的物理地址。1.(1)由于第0段的內(nèi)存始址為210,段長為500,故邏輯地址[0,430]是合法地址。邏輯地址[0,430]對應(yīng)的物理地址為210+430=640。(2)由于第1段的內(nèi)存始址為2350,段長為20,故邏輯地址[1,10]是合法地址。邏輯地址[1,10]對應(yīng)的物理地址為2350+10=2360。(3)由于第2段起始地址為100,段長為90,所給邏輯地址[2,500]非法。(4)由于第3段的內(nèi)存始址為1350,段長為590,故邏輯地址[3,400]是合法地址。邏輯地址[3,400]對應(yīng)的物理地址為1350+400=1750。5.6.1磁盤的結(jié)構(gòu)和性能5.6.1磁盤的結(jié)構(gòu)和性能二、磁盤的類型硬盤和軟盤、單片盤和多片盤、固定磁頭和活動磁頭。1.固定頭磁盤:每個磁道上有一個磁頭,并行讀寫,速度快2.移動頭磁盤:每個盤面僅有一個磁頭,要讀寫數(shù)據(jù)需要移動磁頭—尋道。結(jié)構(gòu)簡單、I/O速度慢。溫徹斯特磁盤簡稱溫盤,是一種可移動磁頭固定盤片的磁盤存儲器,它是目前應(yīng)用最廣,最有代表性的硬磁盤存儲器。5.6.1磁盤的結(jié)構(gòu)和性能三、磁盤訪問時間:1.尋道時間:TS=m*n+Sm:常量,n:磁道數(shù),s:磁盤啟動時間。2.旋轉(zhuǎn)延時間Tr:指定扇區(qū)旋轉(zhuǎn)到磁頭下所需時間。設(shè)每秒r轉(zhuǎn),則Tr=1/2r(均值)3.數(shù)據(jù)傳輸時間Tt=b/rNb:讀寫字節(jié)數(shù)N:每道上的字節(jié)數(shù)訪問時間:Ta=Ts+Tr+Tt可見,由于特定磁盤,只有集中放數(shù)據(jù),集中讀寫(讀寫字節(jié)多)才能更好提高傳輸效率。

5.6.2磁盤的調(diào)度算法磁盤是典型的共享設(shè)備。在用戶處理的信息量越來越大的情況下,對磁盤等共享設(shè)備的訪問也越來越頻繁,因而訪問調(diào)度是否得當(dāng)直接影響到系統(tǒng)的效率。磁盤調(diào)度的目標:減少尋道時間有如下五種磁盤調(diào)度算法:一、FCFS(FisrtComeFirstSecond)二、SSTF(最短尋道優(yōu)先)三、掃描算法。四、循環(huán)掃描CSCAN五、N—Step—SCAN和FSCAN算法。圖5-23FCFS調(diào)度算法1.先來先服務(wù)FCFS(First-Come,FirstServed)僅用于請求磁盤I/O的進程數(shù)目較少的場合。圖5-24SSTF調(diào)度算法2.最短尋道時間優(yōu)先SSTF(ShortestSeekTimeFirst)要求訪問的磁道與當(dāng)前磁頭距離最近,使每次的尋道時間最短SSTF算法雖然能獲得較好的尋道性能,卻可能導(dǎo)致某個進程發(fā)生“饑餓”(Starvation)現(xiàn)象。Scan算法該算法不僅考慮到欲訪問的磁道與當(dāng)前磁道間的距離,更優(yōu)先考慮磁頭當(dāng)前的移動方向。其原理是訪問的下一個對象應(yīng)是同方向的,且又距離最近的。一般自里向外訪問,直至再無更外的磁道需要訪問,才將磁臂換向自外向里,往返反復(fù)。這種算法又稱為“電梯算法”3.掃描(SCAN)算法SCAN調(diào)度算法100道開始,增加方向被訪問下一個磁道移動距離1505016010184249094583255339163811820平均尋道長度:27.8Cscan算法規(guī)定磁頭單項移動,進行循環(huán)掃描。一個方向讀完,不是象SCAN那樣回頭,而是循環(huán)。訪問時間:2TT+SmaxT是從外向里或從里向外單向掃描完要訪問的磁道的尋道時間。而Smax是將磁頭從最外面被訪問的磁道直接移到最里面欲訪問的磁道的尋道時間。4.循環(huán)掃描(CSCAN)算法CSCAN調(diào)度算法100道開始,增加方向被訪問的下一個磁道移動距離15050160101842418166382039155165839032平均尋道長度:27.5若某磁盤共有200個柱面,其編號為0~199,假設(shè)已完成96號柱面的訪問請求,還有若干個請求者在等待服務(wù),它們依次要訪問的柱面號為:175,52,157,36,159、106,l08,72,分別用先來先服務(wù)調(diào)度算法、最短尋道時間調(diào)度算法、電梯調(diào)度算法和單向掃描調(diào)度算法(向序號增加的方向移動)來確定實際服務(wù)的次序,并計算上述兩種算法下移動臂需移動的距離。(1)先來先服務(wù)調(diào)度算法:實際服務(wù)的次序:96→175→52→157→36→159→106→108→72移動臂需移動的距離為:(175-96)+(175-52)+(157-52)+(157-36)+(159-36)+(159-106)+(108-106)+(108-72)=642移動臂需移動642柱面的距離。(2)最短尋找時間優(yōu)先調(diào)度算法:實際服務(wù)的次序:96→106→108→72→52→36→157→159→175移動臂需移動的距離為:(106-96)+(108-l06)+(108-72)+(72-52)+(52-36)+(157-36)+(159-l57)+(175-159)=223移動臂需移動223個柱面的距離。(1)電梯調(diào)度算法:實際服務(wù)的次序:96→106→108→157→159→175→72→52→36(106-96)+(108-l06)+(157-108)+(159-l57)+(175-159)+(175-72)+(72-52)+(52-36)=218移動臂需移動218個柱面的距離。(2)單向掃描調(diào)度算法:實際服務(wù)的次序:96→106→108→157→159→175→36→52→72(106-96)+(108-l06)+(157-108)+(159-l57)+(175-159)+(175-36)+(52-36)+(72-52)=254除了移動臂由里向外返回所用的時間外,還需移動254個柱面的距離。4.8.1最佳置換算法和先進先出算法二、FIFO淘汰最先進入內(nèi)存的頁面,即選擇在內(nèi)存中駐留時間最久的頁面予以淘汰。出發(fā)點:最早調(diào)入主存中的頁面不再使用的可能性越大,應(yīng)該最先淘汰。算法簡單對具有按線性順序訪問的程序比較合適,而對其它情況效率不高4.8.1最佳置換算法和先進先出算法進程P執(zhí)行時的頁面走向為:1,2,3,4,1,2,5,1,2,3,4,5;如果在內(nèi)存中分配3個頁面,則缺頁情況如下:12次訪問中有缺頁9次;如果在內(nèi)存中分配4個頁面,則缺頁情況如下:12次訪問中有缺頁10次;Belady現(xiàn)象的原因:FIFO算法的置換特征與進程訪問內(nèi)存的動態(tài)特征是矛盾的,即被置換的頁面并不是進程不會訪問的。習(xí)題1.某進程執(zhí)行時的頁面走向為123412512345,分別畫出其分配物理塊為3的最佳置換算法的置換圖。2.某進程執(zhí)行時的頁面走向為123412512345,分別畫出其分配物理塊為3和4的FIFO算法的置換圖。3.在請求分頁管理系統(tǒng)中,一個作業(yè)要依次訪問如下頁面:342143143145,采用LRU置換算法求出訪問過程中發(fā)生的缺頁中斷的次數(shù)及缺頁率。設(shè)分給作業(yè)的存儲塊數(shù)為3.4.在請求分頁管理系統(tǒng)中,一個作業(yè)要依次訪問如下頁面:232152453252,設(shè)分給作業(yè)的存儲塊數(shù)為3。若用最佳置換算法,先進先出,LRU置換算法求出訪問過程中發(fā)生的缺頁次數(shù)及缺頁率。習(xí)題1.某進程執(zhí)行時的頁面走向為123412512345,分別畫出其分配物理塊為3的最佳置換算法的置換圖。習(xí)題2.某進程執(zhí)行時的頁面走向為123412512345,分別畫出其分配物理塊為3和4的FIFO算法的置換圖。習(xí)題3.在請求分頁管理系統(tǒng)中,一個作業(yè)要依次訪問如下頁面:342143143145,采用LRU置換算法求出訪問過程中發(fā)生的缺頁中斷的次數(shù)及缺頁率。設(shè)分給作業(yè)的存儲塊數(shù)為3.4.在請求分頁管理系統(tǒng)中,一個作業(yè)要依次訪問如下頁面:232152453252,設(shè)分給作業(yè)的存儲塊數(shù)為3。若用最佳置換算法,先進先出,LRU置換算法求出訪問過程中發(fā)生的缺頁次數(shù)及缺頁率。請求分頁存儲管理方式中,假定系統(tǒng)為某進程分配了4個頁框,頁面的引用順序為:6、1、2、0、3、0、4、2、3、0、3、2、6、0,采用FIFO置換算法產(chǎn)生多少次頁面置換?缺頁率是多少?(2)頁面置換次數(shù)為3次(3)缺頁率為:7/14=50%請求分頁存儲管理方式中,假設(shè)分配給某進程的頁框數(shù)為3,若程序的頁面引用順序為:0、2、3、4、1、2、5、0、2、3、2、5,采用最佳置換算法產(chǎn)生多少次頁面置換?缺頁率是多少?(2)頁面置換次數(shù)為4次(3)缺頁率為:7/12=58%二、銀行家算法

避免死鎖算法中最有代表性的算法是DijkstraE.W于1968年提出的銀行家算法:該算法需要檢查申請者對資源的最大需求量,如果系統(tǒng)現(xiàn)存的各類資源可以滿足申請者的請求,就滿足申請者的請求。這樣申請者就可很快完成其計算,然后釋放它占用的資源,從而保證了系統(tǒng)中的所有進程都能完成,所以可避免死鎖的發(fā)生。3.6.2避免死鎖3.6.3利用銀行家算法避免死鎖

1.?dāng)?shù)據(jù)結(jié)構(gòu)可利用資源向量available其初值是系統(tǒng)中該類資源的最大可用數(shù)目,其值將隨著該類資源的分配與回收而動態(tài)改變。available[j]=k:系統(tǒng)現(xiàn)有Rj類資源k個;最大需求矩陣Max是一個n×m的矩陣,定義了系統(tǒng)中的n個進程中的每一個進程對m類資源的最大需求量。max[i,j]=k:進程i需要Rj的最大數(shù)k個;3.6.3利用銀行家算法避免死鎖分配矩陣Allocation是一個n×m的矩陣,定義了系統(tǒng)中每一類資源的數(shù)量。allocation[i,j]=k:進程i已得到Rj類資源k個;需求矩陣Need是一個n×m的矩陣,用以表示每一個進程尚需的各類資源數(shù)。need[i,j]=k:進程i還需Rj類資源k個,方能完成任務(wù)。有:need[i,j]=max[i,j]-allocation[i,j]requesti 進程i請求資源數(shù)3.6.3利用銀行家算法避免死鎖2.銀行家算法reqi<=needierrorreqi<=availiblock當(dāng)進程Pi向系統(tǒng)提出申請類資源請求時,系統(tǒng)按下列步驟檢查:①若Requesti[j]>Need[i,j],出錯處理。否則,轉(zhuǎn)向下一步。②若Requesti[j]>Available[i,j]出錯處理。否則,轉(zhuǎn)向下一步。NNNYY3.6.3利用銀行家算法避免死鎖avail=avail-reqialloci=alloci+reqineedi=needi-reqifinish[i]=.F.needi<=workwork=work+allocifinish[i]=.T.③系統(tǒng)試著把資源分給進程Pi,并修改下列數(shù)值。Avail[j]=Avail[j]-Reqi[j];Allo[i,j]=Allo[i,j]+Reqi[j];Need[i,j]=Need[i,j]-Reqi[j];④執(zhí)行安全性算法,檢查這次資源分配后,系統(tǒng)是否處于安全狀態(tài).如果安全,則正式將資源分配給Pi,否則恢復(fù)原來的資源分配狀態(tài),然進程Pi等待。安全性算法設(shè)置兩個工作向量設(shè)置一個臨時向量work:表示系統(tǒng)可提供給進程繼續(xù)運行的資源的集合。安全性算法剛開始執(zhí)行時,work:=Available。設(shè)置一個數(shù)組finish[i]:表示進程i能否順序完成。當(dāng)finish[i]=True,表示進程Pi可以獲得其所需的全部資源,而順利執(zhí)行完成。安全性算法從進程集合中找到一個能滿足下述條件的進程:AFinish[i]=false;BNeed[i,j]≤work[j];若找到,執(zhí)行3步驟,否則執(zhí)行4步驟進程Pi獲得資源,可順利執(zhí)行直至完成,然后釋放它的全部資源。執(zhí)行:Work[j]=work[j]+Allocation[i,j];Finish[i]=True;Goto2如果所有進程的Finish[i]=true,則系統(tǒng)處于安全狀態(tài),否則處于不安全狀態(tài)。4實例MaxABC

AllocationABC

NeedABC

AvailableABCp0753

010

743

332p1322

200

122p2902

302

600p3222

211

011p4433

002

431T0時刻的資源分配表5327437457551057WORK4實例WorkABCNeedABC

AllocABCWork+allocABCFinishp1

332122

200532truep3

532011

211743truep4

743431

002745truep2

745600

3021047truep0

1047743

0101057trueT0時刻的安全序列4實例MaxABC

AllocationABC

NeedABC

AvailableABCp0753

010

743(230)p1322(302)(020)p2902

302

600p3222

211

011p4433

002

4315327437457551057P1申請資源(1,0,2)時安全性檢查(安全)WORK4實例WorkABCNeedABC

AllocABCWork+allocABCFinishp1

230

020

302532truep3

532011

211743truep4

743

431

002745truep0

745

743

010755truep2

755

600

3021057trueP1申請資源(1,0,2)時安全性檢查(安全)4實例若此時P4請求資源,Request4(3,3,0),系統(tǒng)按照銀行家算法進行檢查:Request4(3,3,0)<Need4(4,3,1),Request4(3,3,0)>Available(2,3,0)故P4需要等待若此時P0請求資源,Request0(0,2,0),系統(tǒng)按照銀行家算法進行檢查:Request0(0,2,0)<Need4(7,4,3),Request0(0,2,0)<Available(2,3,0)故系統(tǒng)暫定能為P0分配資源,修改有關(guān)數(shù)據(jù)。4實例AllocationABCNeedABCAvailableABCp0030723210p1302020p2302600p3211011p4002431為P0分配(0,2,0)后的情況(不安全)3.3調(diào)度算法——是一個資源分配問題1.FCFS非剝奪式的調(diào)度算法。以等待時間為主要的調(diào)度指標總是選擇就緒隊列的隊首作業(yè)運行是一種最簡單的調(diào)度算法,既可用于作業(yè)調(diào)度,也可用于進程調(diào)度優(yōu)點:實現(xiàn)簡單,容易實現(xiàn)缺點:沒考慮進程的優(yōu)先級3.3.1先來先服務(wù)和短作業(yè)(進程)優(yōu)先調(diào)度算法

例:FCFS算法進程名到達時間服務(wù)時間開始執(zhí)行時間完成時間周轉(zhuǎn)時間帶權(quán)周轉(zhuǎn)時間A010111B110011011001C21101102100100D31001022021991.993.3調(diào)度算法——是一個資源分配問題剝奪或非剝奪式的調(diào)度算法。以要求服務(wù)時間為主要的調(diào)度指標總是選擇執(zhí)行時間最短的作業(yè)運行;進程運行時間不易確定,通常采用近似估算方法。2.短作業(yè)進程優(yōu)先調(diào)度算法:SJ(P)F3.3調(diào)度算法——是一個資源分配問題優(yōu)點:有效地降低作業(yè)的平均等待時間,縮短平均周轉(zhuǎn)時間和平均帶權(quán)周轉(zhuǎn)時間(從而提高了系統(tǒng)吞吐量)缺點:不利于長作業(yè),會出現(xiàn)餓死現(xiàn)象。未考慮緊迫程度,不能保證緊迫性作業(yè)(進程)會被及時處理。該算法不一定能真正做到短作業(yè)優(yōu)先調(diào)度。作業(yè)(進程)的長短只是根據(jù)用戶所估計的近似值。2.短作業(yè)進程優(yōu)先調(diào)度算法:SJ(P)FFCFS

溫馨提示

  • 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

提交評論