




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2進程A1,A2,Anl通過m個緩沖區(qū)向進程B1,B2,Bn2不斷地發(fā)送消息,發(fā)送和接收工作遵循如下規(guī)則: (1)每個發(fā)送進程一次發(fā)送一個信息,寫入一個緩沖區(qū),緩沖區(qū)大小與消息長度一樣;(2)對每一個消息,B1,B2,Bn2都需各接收一次,讀入各自的數(shù)據(jù)區(qū)內(nèi);(3)m個緩沖區(qū)都滿時,發(fā)送進程等待,沒有可讀的消息時,接收進程等待。試用P、V操作組織正確的發(fā)送和接收操作。解答:這是一個變形的生產(chǎn)和消費問題。每個緩沖區(qū)只需寫一次,但需讀n2次。可以把一組緩沖區(qū)看做n2組緩沖區(qū),這樣,每個生產(chǎn)者需要同時寫n2個緩沖區(qū)組中相應(yīng)的n2個緩沖區(qū),而每一個消費者只需讀它自己對應(yīng)的那組緩沖區(qū)中的單元。生產(chǎn)者須在
2、n2個緩沖區(qū)都為空閑是方可寫入,這時,就可以用n2組信息量(avail,free )來實現(xiàn)這一流程,具體流程如下:BEGIN integer mutex,availn2,fulln2; integer I; mutex : =1; for I :=1 to n2 do begin avail I := m; full I := 0; end; procedure sendM integer I ; begin for I :=1 to n2 do begin P( avail I); end ; P (metux); 將消息放入緩沖區(qū); for I :=1 to n2 do begin V(f
3、ull I); end ; V (metux)end ; procedure receive(M,I) begin P (fullI); P (metux); 從緩沖區(qū)中取消息; V (avail I); V (mutex);end ; Cobegin Ai:begin . send M end Bi;begin.Receive(M,i);end;Coend;end;3設(shè)系統(tǒng)中僅有一類數(shù)量為M的獨占型資源,系統(tǒng)中有N個進程競爭該類資源,其中各進程對該類資源的最大需求數(shù)為W,當(dāng)M,N,W分別取下列值時,試判斷哪些情況會發(fā)生死鎖,為什么?(1) M=2,N=2,W=1(2) M=3,N=2 W=2
4、(3) M=3,N=2,W=3(4) M=5 N=3 W=2(5) M=6 N=3 W=3 解答: (1) 不會發(fā)生死鎖。因為系統(tǒng)中只有兩個進程,每個進程的最大需求量為1,且系統(tǒng)中資源總數(shù)為2,系統(tǒng)能夠滿足兩個進程的最大資源需求量,故不會發(fā)生死鎖。(2) 不會發(fā)生死鎖。因為系統(tǒng)中有兩個進程,每個進程的最大資源需求量為2,且系統(tǒng)中資源總數(shù)為3,無論如何分配,兩個進程中必有一個進程可以獲得兩個資源,該進程將順利完成,從而可以將分配給它的資源歸還給系統(tǒng),使另一個進程也能順利執(zhí)行完成,故不會發(fā)生死鎖。(3) 可能發(fā)生死鎖。因為系統(tǒng)中有兩個進程,每個進程的最大資源需求量為3,且系統(tǒng)中資源總量為3,若系統(tǒng)
5、先將全部資源分配給其中一個過程,則該進程將順利完成,從而可將分配給它的資源歸還給系統(tǒng),使另一進程也能順利完成,以這種方式分配資源時不會發(fā)生死鎖;若系統(tǒng)將兩個資源分配給一個過程,而剩余的一個資源分配給另一個進程,則系統(tǒng)中沒有空閑資源,而每個進程都需要等待資源,此時發(fā)生死鎖。(4) 不會發(fā)生死鎖。因為系統(tǒng)中有3個過程,每個進程的最大資源需求量為2,且系統(tǒng)中資源總量為5,無論如何分配,3個進程中必有一個進程可以獲得2個資源,該進程將順利完成,從而可以將分配給它的資源歸還給系統(tǒng),使其他進程也能順利執(zhí)行完成,故不會發(fā)生死鎖(5) 可能會發(fā)生死鎖。因為系統(tǒng)中有3個進程,每個進程的最大資源需求量為3,且系統(tǒng)
6、中資源總數(shù)為6 ,若系統(tǒng)先將3個資源分配給其中一個過程,則該進程將順利完成,從而可將分配給它的資源歸還給系統(tǒng),使其他進程也能順利完成,以這種方式分配資源時不會發(fā)生死鎖;若系統(tǒng)給每個進程分配兩個資源,則系統(tǒng)中沒有空間資源,而每個進程都需要等待一個資源,此時發(fā)生死鎖。 4 設(shè)某作業(yè)占有7個頁面,如果在主存中只允許裝入4個工作頁面(即工作集為4),作業(yè)運行時,實際訪問頁面的順序是1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1。試用FIFO與LRU頁面調(diào)度算法,列出各自的頁面淘汰順序和缺頁中斷次數(shù),以及最后留駐主存4頁的順序(假設(shè)開始的4個頁面已裝入主存)。解答:對O算法:頁面淘汰順序
7、為,;缺頁中斷次;最后留駐主存頁的順序為:,6。對的算法;頁面淘汰順序為,缺頁中斷次;最后留駐主存頁的概率:,注:假定前面四頁,已在主存5在某請求分頁管理系統(tǒng)中,一個作業(yè)共頁,作業(yè)執(zhí)行時依次訪問如下頁面:,若分配給該作業(yè)的主存塊數(shù)為,分別采用,頁面置換算法,試求出缺頁中斷的次數(shù)及缺頁率。解答:(1)采用頁面置換算法, 缺頁中斷的次數(shù)為,缺頁率9/()采用頁面置換短法缺頁中斷的次數(shù)為,缺頁率6設(shè)內(nèi)存中有三道 程序A,B,C,它們按A/B/C的優(yōu)先次序執(zhí)行,它們的計算和I/O操作的時間如表所1-1示(單位;MS) 表1-1 3道程序的操作時間程序操作ABC計算204010I/O302030計算10
8、1020 假設(shè)3道程序使用相同設(shè)備進行I/O操作,即程序以串行方式使用設(shè)備,試畫出單道運行和多道運行的時間關(guān)系圖(調(diào)度程序執(zhí)行時間忽略不計)在兩種情況下,完成這三道程序各要花多少時間?解答 :若采用單道方式運行三道程序,則運行次序為A,B,C,即程序A先執(zhí)行20MS的計算,再完成30MS的I/O操作。最后在進行10MS的計算。接下來程序B先執(zhí)行40MS的計算,再完成20MS的I/O操作。最后在進行10MS的計算。然后程序C先執(zhí)行10MS的計算,再完成30MS的I/O操作。最后在進行20MS的計算。至此,三到程序全部運行完畢,其程序運行的時間關(guān)系如圖1-1所示 總的運行時間為 20+30+ 10
9、+ 40+ 20+ 10+ 10+ 30+ 20=190msI/O計算時間ms 0 20 50 60 100 120 130 140 170 190 AAABBBCCC 若采用都道方式運行三道程序,因系統(tǒng)按照A,B,C的優(yōu)先次序執(zhí)行, 則在運行過程中,無論使用CPU還是I/O設(shè)備,A的優(yōu)先級最高,B的優(yōu)先級次之,C的優(yōu)先級最低,即程序A先執(zhí)行20MS的計算,再完成30MS的I/O操作(與此同時,程序B進行30MS的計算),最后在進行10MS的計算(此時程序B等待,因還繼續(xù)10MS計算):接下來程 序B先執(zhí)行10MS的計算,再完成20MS的I/O操作(與此同時,程序C進行10MS的計算,然后等待
10、I/O的設(shè)備),最后在進行10MS的計算(此時程序C執(zhí)行I/O操作10MS)。然后程序C先執(zhí)行20MS的I/O操作,最后在進行20MS的計算。至此,三到程序全部運行完畢,其程序運行的時間關(guān)系如圖1-2所示 總的運行時間為 20+30+ 10+ 10+ 20+ 10+ 10+ 20+ 30=140ms CCBBBAAAI/O計算CB時間ms 0 20 50 60 70 80 90 100 120 140 7 在南京大學(xué)和天津大學(xué)的之間有一條彎曲的小路,其中從S到T一段路每次只允許一輛自行車通過,但中間有一個小的安全島M(同時允許兩輛自行車停留),可供兩輛自行車在以從兩端進入小路情況下錯車使用,如
11、下圖所示,試設(shè)計一個算法,使來往的自行車輛均靠順利通過。M南開大學(xué)天津大學(xué)SKLT解答:對于這一類問題,關(guān)鍵在于正確分析所需控制的對象、工作流程以及控制關(guān)系。在這一問題中,根據(jù)從S到T路段的特點,可以把它分為3個小段:從S到K,駛進安全島M,從L到T。路段S到K及L到T,只允許一輛自行車通過(即一個進程使用),而安全島M允許兩輛自行車通過(即兩個進程使用)。對它們分別用3個信號量來管理。再注意到同時最多只能由一個方向的一輛自行車通過,因此每個方向的自行車還要用一個信號量來控制。用bikeT_to_N和bikeN _to_T分別表示從天津大學(xué)到南開大學(xué)和從南開大學(xué)到天津大學(xué)兩個方向的自行車??刂?/p>
12、流程如下:Begin Integer: N _to_T, T_to_N,L,M,K; N _to_T:=1; T_to_N:=1;L:=1;M:=2;K:=1; Procedure bikeT_to_N()Begin P(T_to_N); P(L); Go through T to L; P(M); Go into M; V(L); P(K); Go through K to S; V(M); V(K); V(T_to_N);End;Procedure bikeN_to_T()Begin P(N_to_T); P(K); Go through S to K; P(M); Go into M;
13、V(K); P(L); Go through L to T; V(M); V(L); V(N_to_T);End;End;8例:在銀行家算法中,若出現(xiàn)表2-4所示的資源分配情況,試問:1 該狀態(tài)是否安全?2 如果進程P2提出請求Request2(1,2,2,2)后,系統(tǒng)能否將資源分配給它。表2-4 資源分配表資源情況進程AllocationNeedAvailableA B C DA B C DA B C DP00 0 3 20 0 1 21 6 2 2P11 0 0 01 7 5 0P21 3 5 42 3 5 6P30 3 3 20 6 5 2P40 0 1 40 6 5 6解答:(1)利用
14、銀行家算法對此時刻的資源分配情況進行分析,可得表2-5所示的安全性分析情況。表2-5 安全性檢查表資源情況進程WorkNeedAllocationWork+AllocationFinishA B C DA B C DA B C DA B C DP01 6 2 20 0 1 20 0 3 21 6 5 4truetruetruetruetrueP31 6 5 40 6 5 20 3 3 21 9 8 6P41 9 8 61 7 5 00 0 1 41 9 9 10P11 9 9 100 6 5 61 0 0 02 9 9 10P22 9 9 102 3 5 61 3 5 43 12 14 14從
15、以上情況分析可以看出,此時存在一個安全序列p0,p3,p4,p1,p2,故該狀態(tài)是安全的。(2)P2提出請求Request2(1,2,2,2)。按銀行家算法進行檢查:Request2(1,2,2,2)<=need(2,3,5,6)Request2(1,2,2,2)<=available(1,6,2,2)試分配并修改相應(yīng)數(shù)據(jù)結(jié)構(gòu),資源分配情況如表2-6所示。表2-6 P2申請資源后的資源分配表資源情況進程AllocationNeedAvailableA B C DA B C DA B C DP00 0 3 20 0 1 20 4 0 0P11 0 0 01 7 5 0P21 3 5
16、41 1 3 4P30 3 3 20 6 5 2P40 0 1 40 6 5 6再利用安全性檢查算法檢查系統(tǒng)是否安全,可用資源available(0,4,0,0)已不能滿足任何進程的需要,此時系統(tǒng)不能將資源分配給P2。9有橋如圖2-7所示。北南橋車流如箭頭所示,橋上不允許兩車交會,但允許同方向多輛車依次通行(即橋上可以有多個同方向的車)。用P、V操作實現(xiàn)交通管理以防止橋上阻塞。解答:由于橋上不允許兩車相會,故橋應(yīng)該互斥訪問,而同一方向上允許多輛車一次通過,即臨界區(qū)允許多個實例訪問。用同一信號量來互斥訪問臨界區(qū)。由于不能允許某一方向的車完全“控制橋”,應(yīng)保證最多某一方向上連續(xù)通過一定數(shù)量的車后,
17、必須讓另一方向的車通過,可以通過3個信號量來控制。具體程序如下: Begin Integer:mutex,availn,abails; Mutes:=0;avialn:=m;avails:=m; Cobegin South: begin P(avails); P(mutex); 過橋; V(mutex); V(avails); End; North: begin P(availn); P(mutex); 過橋; V(mutex); V(availn); End;Coend;End;10 設(shè)系統(tǒng)中有三類資源A、B和C,又設(shè)系統(tǒng)中有5個進程P1,P2,P3,P4和P5.在T0時刻系統(tǒng)狀態(tài)如下:最大
18、需求量已分配資源量剩余資源量A B CA B CA B C P1 8 6 41 2 12 1 1 P2 4 3 33 1 1 P3 10 1 34 1 3 P4 3 3 33 2 2 P5 5 4 61 1 3(1) 系統(tǒng)是否處于安全狀態(tài)?如是,則給出進程安全序列.(2) 如果進程P5申請1個資源類A、1個資源類B和1個資源類C,能否實施分配?為什么?答案:(1) 最大需求量已分配資源量剩余資源量 尚需要量A B CA B CA B C A B C P1 8 6 41 2 12 1 1 7 4 3 P2 4 3 33 1 1 1 2 2 P3 10 1 34 1 3 6 0 0 P4 3 3
19、33 2 2 0 1 1 P5 5 4 61 1 3 4 3 3 系統(tǒng)是處于安全狀態(tài),安全序列為:P4,P2,P1,P3,P5 (2)P5申請(1,1,1) 最大需求量已分配資源量剩余資源量 尚需要量 A B CA B CA B C A B C P1 8 6 41 2 11 0 0 7 4 3 P2 4 3 33 1 1 1 2 2 P3 10 1 34 1 3 6 0 0 P4 3 3 33 2 2 0 1 1 P5 5 4 62 2 4 3 2 2 不能實施分配,因為分配后找不到安全序列,系統(tǒng)將處于不安全狀態(tài).31 有三個進程PA,PB和PC 合作解決文件打印問題:PA將文件記錄從磁盤讀入
20、主存的緩沖區(qū)1,每執(zhí)行一次讀一個記錄 ;PB將緩沖區(qū)1的內(nèi)容復(fù)制到緩沖區(qū)2,每執(zhí)行一次復(fù)制一個記錄;PC將緩沖區(qū)2的內(nèi)容打印出來,每執(zhí)行一次打印一個記錄。緩沖區(qū)的大小等于一個記錄大小。請用P,V操作來保證文件的正確打印。 解答:在本題中,進程PA,PB和PC之間的 關(guān)系為:PA 與PB共用一個單緩沖區(qū),而PB又 與PC共用一個單緩沖區(qū),其合作方式可用圖2-10表示,當(dāng)緩沖區(qū)1為空時,進程PA可將一個記錄讀入其中;若緩沖區(qū)1中有一個數(shù)據(jù)且緩沖區(qū)2為空,則進程PB可將記錄從緩沖區(qū)1復(fù)制到緩沖區(qū)2中;若緩沖區(qū)2中有數(shù)據(jù),則進程PC 可以打印記錄,在其他條件下,相應(yīng)進程必須等待。事實上,這是一個生產(chǎn)者
21、消費者的問題打印緩沖區(qū)1緩沖區(qū)2PA從磁盤讀入PBPC復(fù)制 圖2-10 進程間的合作方式為遵循這一同步規(guī)則。應(yīng)設(shè)置四個信號量 empty1,empty2,full1,full2,信號量 empty1及empty2分別表示緩沖區(qū)1及緩沖區(qū)2是否為空,其初值為1;信號量full1,full2分別表示緩沖區(qū)1及緩沖區(qū)2是否有記錄可供處理,其初值為0。其同步描述如下: int empty1=1; int empty2=1; int full1=0; int full2=0;main ( ) cobegin PA( ); PB( ); PC( ); coend PA( ) while( 1 ) 從磁盤讀
22、一個記錄; P (empty1); 將記錄存入緩沖區(qū)1; V(full1); PB( ) while(1) P(full1); 從緩沖區(qū)1中取出記錄; V(empty1); P (empty2); 將記錄存入緩沖區(qū)2; V(full2); PC( ) while(1) P(full2); 從緩沖區(qū)2中取出記錄; V(empty2); 打印記錄; 本題也是一個 典型生產(chǎn)者消費者的問題,其中的難點在于PB既是一個生產(chǎn)者又是一個消費者。11有一個虛擬存儲系統(tǒng), 每個進程在內(nèi)存占有3頁數(shù)據(jù)區(qū)、1頁程序區(qū). 剛開始時數(shù)據(jù)區(qū)為空. 有以下訪頁序列: 1、5、4、1、2、3、2、1、5、4、2、4、6、5、
23、1 試給出下列情形下的缺頁次數(shù): (1)系統(tǒng)采用先進先出(FIFO)淘汰算法. (2)系統(tǒng)采用最近最少使用(LRU)淘汰算法. 12有個一虛擬存儲系統(tǒng), 每個進程在內(nèi)存占有3頁數(shù)據(jù)區(qū), 剛開始時數(shù)據(jù)區(qū)為 空. 有以下訪頁序列: 2、3、4、5、3、4、1、2、3、5、1、4、2、4、5、1、3、2、1、3 試給出下列情形下的缺頁次數(shù): (1) 系統(tǒng)采用先進先出(FIFO)淘汰算法.(2) 系統(tǒng)采用最近最少使用(LRU)淘汰算法.用PV操作解決讀者寫者問題的正確程序如下: begin S, Sr: Semaphore; rc: integer; &
24、#160; S:=1; Sr:=1; rc:=0; cobegin PROCESS Reader i ( i=1,2) begin P(Sr) rc:=rc+1; if rc=1 then P(S); V(Sr);
25、160; read file; P(Sr); rc:=rc-1 if rc=0 thenV(S); V(Sr); end ; PROCESS Writer j (j=1
26、,2) begin P(S); Write file; V(S) end; coend ; end; 請回答:(1)信號量 Sr的作用;(2)程序中什么語句用于讀寫互斥,寫寫互斥;(3)若規(guī)定僅允許5個進程同時讀怎樣修改程序?答:(1)Sr用于讀者計數(shù)rc的互斥信號量; (2)if rc=
27、1 then P(S)中的P(S)用于讀寫互斥,寫者進程中的P(S)用于寫寫互斥,讀寫互斥。(3)程序中增加一個信號量S5,初值為5,P(S5)語句加在讀者進程P(Sr)之前,V(S5)語句加在讀者進程第2個V(Sr)之后。 2考慮一個由8個頁面、每頁有1024個字節(jié)組成的邏輯空間,把它裝入到有32個物理塊的存儲器中,問:(1)邏輯地址需要多少二進制位表示?(2)物理地址需要多少二進制位表示? 因為頁面數(shù)為823,故需要3位二進制數(shù)表示。每頁有1024個字節(jié),1024210,于是頁內(nèi)地址需要10位二進制數(shù)表示。32個物理塊,需要5位二進制數(shù)表示(3225) &
28、#160; (1)頁的邏輯地址由頁號和頁內(nèi)地址組成,所以需要3+10=13位二進制數(shù)表示。 (2)頁的物理地址由塊號和頁內(nèi)地址的拼接,所以需要5+10=15位二進制數(shù)表示。 1. 某虛擬存儲器的用戶編程空間共32個頁面,每頁為1KB,內(nèi)存為16KB。假定某時刻一用戶頁表中已調(diào)入內(nèi)存的頁面的頁號和物理塊號的對照表如下:頁號物理塊號051102437 計算邏輯地址0A5C(H)所對應(yīng)的物理地址(要求寫出分析過程)。1解:頁式存儲管理的邏輯地址分為兩部分:頁號和頁內(nèi)地址。由已知條件
29、“用戶編程空間共32個頁面”,可知頁號部分占5位;由“每頁為1KB”,1K=210,可知內(nèi)頁地址占10位。由“內(nèi)存為16KB”,可知有16塊,塊號為4位。邏輯地址0A5C(H)所對應(yīng)的二進制表示形式是:000 1010 0101 1100,根據(jù)上面的分析,下劃線部分為頁內(nèi)地址,編碼“000 10”為頁號,表示該邏輯地址對應(yīng)的頁號為2。查頁表,得到物理塊號是4(十進制),即物理塊地址為:01 00,拼接塊內(nèi)地址10 0101 1100,得01 0010 0101 1100,即125C(H)。2. 假設(shè)一個磁盤有200個磁道,
30、編號從0199。當(dāng)前磁頭正在143道上服務(wù),并且剛剛完成了125道的請求。如果尋道請求隊列的順序是:86, 147, 91, 177, 94, 150, 102, 175, 130問:為完成上述請求,使用最短尋道時間優(yōu)先磁盤調(diào)度算法SSTF時,磁頭移動的總量是多少?(要求寫出分析過程)采用最短尋道時間優(yōu)先磁盤調(diào)度算法SSTF,進行調(diào)度的情況為:從143道開始下一磁道移動磁道數(shù)147150130102949186175177432028835892磁頭移動總量為162。一、 設(shè)某文件的物理存儲方式采用鏈接方式,該文件由5個邏輯記錄組成,每個邏輯記錄的大小與磁盤塊大小相等,均為512字節(jié),并依次存
31、放在50、121、75、80、63號磁盤塊上。(10分)l 文件的第1569邏輯字節(jié)的信息存放在哪一個磁盤塊上?l 要訪問第1569邏輯字節(jié)的信息,需要訪問多少個磁盤塊?(假如該文件的FCB在內(nèi)存)答:因為:1569=512×3+33所以要訪問字節(jié)的邏輯記錄號為3,對應(yīng)的物理磁盤塊號為80。故應(yīng)訪問第80號磁盤塊。 由于采用鏈接方式,所以要訪問第3個邏輯記錄的信息,必須訪問邏輯記錄第0、1、2后,才能訪問第3個邏輯記錄,所以要訪問第1569邏輯字節(jié)的信息,需要訪問4個磁盤塊。37.當(dāng)磁頭處于100號磁道時,有9個進程先后提出讀寫請求涉及的柱面號為63、57、34、88、91、103、
32、76、18和128。要求:(1)寫出按最短尋找時間優(yōu)先算法SSTF時的調(diào)度次序;(2)計算按SSTF調(diào)度算法時的平均尋道數(shù)。答: (1)調(diào)度次序:100à103à91à88à76à63à57à34à18à128(2)總移過的道數(shù)為:3+12+3+12+13+6+23+16+110=198平均尋道數(shù)為:198/9=22(道)34. 哲學(xué)家就餐問題是一個經(jīng)典的進程同步問題,該問題中描述有5個哲學(xué)家,他們的生活方式是交替地進行思考和進餐。哲學(xué)家們共用一張圓桌,分別坐在周圍的椅子上。在圓桌上有5只碗和5支筷子,平
33、時哲學(xué)家們進行思考,饑餓時便試圖取用其左、右兩邊的筷子,只有在他拿到兩支筷子時才能進餐。進餐完畢,放下筷子繼續(xù)思考。為了解決哲學(xué)家就餐問題,可以用一個信號量表示一支筷子,由這5個信號量構(gòu)成信號量數(shù)組:semaphore stick5;所有信號量初值為1,第1個哲學(xué)家的活動算法可以推述如下:semaphore stick5=1,1,1,1,1;main() cobegin Philosopehr(0); Philosopehr(1);Philosopehr(2);Philosopehr(3);Philosopehr(4); Coend; Philosopehr(int I) While(true
34、) 思考; P(stickI); P(stick(I+1)%5); 進餐; v(stickI; v(stick(I+1)%5); 試問上述算法是否會發(fā)生死鎖?為什么?若會發(fā)生死鎖,請給出一個不會發(fā)生死鎖的哲學(xué)家就餐算法。34答案上述算法可能發(fā)生死鎖。例如,5個哲學(xué)家?guī)缀跬瑫r饑餓而各自拿起左邊的筷子時,使得5支筷子信號量均為0,當(dāng)他們試圖去拿右邊筷子時,都將因無筷子拿而無限期地等待下去。對于上述算法的死鎖問題有多種解決辦法,這里給出兩種解決方案。方案一:用額外的信號量mutex(初值為1)來控制對臨界資源的使用。算法如下:Semaphore mutex=1;Philosopehr(int I)
35、While(true) 思考; P(mutex); P(stickI); P(stick(I+1)%5); 進餐; v(stickI; v(stick(I+1)%5);改進的算法實質(zhì)上是對資源申請過程進行限制,即要求一次申請完所有的資源,也就是在申請兩個資源的過程中不被其他進程打斷。且在系統(tǒng)滿足該進程要求之前別的進程無法申請資源,因而也就可以避免死鎖。方案二:對申請資源(筷子)的進程(哲學(xué)家)進行限制,要求至多允許4個哲學(xué)家同時進餐,以保證至少有一個哲學(xué)家能夠拿到兩支筷子進餐,最后總會進餐完畢并釋放他占有的兩支筷子,以使其他哲學(xué)家可以進餐。算法如下: Semaphore s=4; /用于控制同
36、時進餐的人數(shù)Philosopehr(int I) While(true) 思考; P(s); P(stickI); P(stick(I+1)%5); 進餐; v(stickI; v(stick(I+1)%5); v(s);16. 在一個系統(tǒng)中采用分頁存儲管理,頁的大小為4KB,允許用戶進程的存儲映像最大為16頁,物理內(nèi)存共有512內(nèi)存塊,試問:虛擬地址寄存器和內(nèi)存地址寄存器的長度各是多少位? 答:(1)頁的大小為4KB=212B,頁面數(shù)為16=24,所以虛擬地址寄存器需要12+4=16位。(2)頁的大小為4KB=212B,物理塊數(shù)為512=29,所以內(nèi)存地址寄存器需要12+9=21位。17.
37、考慮一個由8個頁面、每頁1024字節(jié)組成的存儲空間,把它映射到容量為32個物理塊的存儲器中,試問邏輯地址和物理地址分別是多少位?為什么? 答:因為每頁大小為1024字節(jié),故頁內(nèi)地址需要10個二進制位描述;作業(yè)的邏輯地址有8頁,頁號需要3個二進制位。由此可知,物理地址共需要15位。因為每個物理塊與頁大小相同,即大小為1024字節(jié),故塊內(nèi)地址需要10個二進制位描述;內(nèi)存空間容量為32塊,塊號需要個二進制位。由此可知,物理地址共需要15位。18. 假定某頁式存儲器管理系統(tǒng)中,主存為128KB,分為32塊,塊號為0、1、2、3、.、31;某作業(yè)有5塊,其頁號為0、1、2、3、4,被分別裝入主存的3、8、4、6、9塊中。有一邏輯地址為3,70。試求出相應(yīng)的物理地址(其中方括號中的第一個元素為頁號,第二個元素為頁內(nèi)地址,按十進制計算),并畫圖說明地址變換過程。答:由已知可得,塊大小為128KB/32=4KB,因為塊與頁面大小相同,因此每頁大小為4KB。再由題目可知,第3頁被裝入到主存第6塊中,故邏輯地址3,70對應(yīng)的物理地址為:4KB*6+70=24646。其地
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025雇傭勞動合同書范本
- 政府購買公共服務(wù)合同的性質(zhì)分析研究 工商管理專業(yè)
- 2025辦公空間轉(zhuǎn)租合同范本
- 2025頂級度假村裝飾工程總承包合同
- 2025商業(yè)辦公空間設(shè)計施工合同示范文本 合同范本
- 2025汽車轉(zhuǎn)讓合同范本
- 2025原材料采購合同書范本
- 2025租房合同中關(guān)于租房定金的協(xié)議
- 2025中介服務(wù)合同模板
- 2025機械設(shè)備租賃合同模板參考
- 2024年飯店轉(zhuǎn)讓合同簡單版(三篇)
- 大數(shù)據(jù)與會計社會實踐報告
- 小學(xué)一二年級必背古詩詞73首帶拼音
- 《陸上風(fēng)電場工程概算定額》NBT 31010-2019
- 2024年信陽職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 生物醫(yī)學(xué)電子學(xué)智慧樹知到期末考試答案章節(jié)答案2024年天津大學(xué)
- 《電磁學(xué)》梁燦彬課后答案解析
- 2024年山東省事業(yè)單位歷年面試題目及答案解析50套
- 富血小板血漿治療術(shù)知情同意書
- Charter開發(fā)與立項流程(CDP)
- 中華民族共同體概論課件第三講文明初現(xiàn)與中華民族起源(史前時期)
評論
0/150
提交評論