課后參考答案-部分習(xí)題參考答案_第1頁
課后參考答案-部分習(xí)題參考答案_第2頁
課后參考答案-部分習(xí)題參考答案_第3頁
課后參考答案-部分習(xí)題參考答案_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、process son while(true)P(sOrg);從plate中取桔子;V(sCap);吃桔子;process daughter while(true)P(sApp);從plate中取蘋果;V(sCap);吃蘋果;/容器是否可用,容器中是濃縮汁/糖/水習(xí)題21-7題,見教材相關(guān)章節(jié)內(nèi)容。8. Job1與Job2同時到達(dá),根據(jù)短作業(yè)優(yōu)先算法,這時應(yīng)該先執(zhí)行Job2, Job2執(zhí)行完畢時9.0,系統(tǒng)中有jobl與job3兩個作業(yè),job3較短,所以先執(zhí)行job3, job3執(zhí)行完畢時 9.7,系統(tǒng)中有jobl和job4 , job4較短,先執(zhí)行job4,再執(zhí)行jobl ,所以他們四個作

2、業(yè)的執(zhí) 行順序為 Job2、Job3、Job4、Jobl;Job2的開始時刻是8.0,完成時刻是9.0、周轉(zhuǎn)時間1,帶權(quán)周轉(zhuǎn)時間1;Job3的開始時刻是9.0,完成時刻是9.7、周轉(zhuǎn)時間1.3,帶權(quán)周轉(zhuǎn)時間1.86;Job4的開始時刻是9.7,完成時刻是10.0,周轉(zhuǎn)時間0.8,帶權(quán)周轉(zhuǎn)時間 2.7;Job1的開始時刻是10.0,完成時刻是12.0,周轉(zhuǎn)時間4.0,帶權(quán)周轉(zhuǎn)時間2;平均周轉(zhuǎn)時間為1.78;平均帶權(quán)周轉(zhuǎn)時間為 1.89。9 .盤子是個互斥使用的通用類型緩沖區(qū),可存放兩種不同類型數(shù)據(jù),父母=兩個特定類型數(shù)據(jù)/產(chǎn)品生產(chǎn)者,子女=兩個特定類型數(shù)據(jù)/產(chǎn)品消費者。enumapple, or

3、ange plate;semaphore sCap, sOrg, sApp;/盤子里可以放水果數(shù)量,盤子里有無桔子/蘋果sCap = 1;/盤子容量:一個水果sOrg = 0;/盤子里沒有桔子sApp = 0;/盤子里沒有蘋果cobegin process father while(true)削一個蘋果;P(sCap);把蘋果放入plate;V(sApp);process mother while(true)剝一個桔子;P(sCap);把桔子放入plate;V(sOrg); coend10 .semaphore S=1, SO=0, SS=0, SW=0;enum sugar, water,

4、orange container;cobeginprocess Provider while(true)P(S);將原料裝入容器內(nèi);if (cantainer=orange) V(SO);else if (cantainer=sugar) V(SS);else V(SW);process P1 while(true)P(SO);從容器中取濃縮汁;V(S);生產(chǎn)橙汁;process P2 while(true)P(SS);從容器中取糖;V(S);生產(chǎn)橙汁;process P3 while(true)P(SW);從容器中取水;V(S);生產(chǎn)橙汁;答:系統(tǒng)的剩余資源向量A=(1,2,3,0),各進(jìn)程

5、的剩余請求矩陣coend1200075012120220< 0622R =(1) 由于系統(tǒng)存在一個進(jìn)程完成的安全序列P4、P1、P2、P3、P5,故系統(tǒng)狀態(tài)安全;進(jìn)程可用資源請求資源占有資源分配釋放 量完成情況P11,2,0,00,0,1,2P20,7,5,01,0,0,0P31,2,1,21,1,4,4P41,2,3,00,2,2,00,6,3,21 trueP50,6,2,20,0,1,4進(jìn)程可用資源請求資源占有資源分配釋放 量完成情況P11,8,6,21,2,0,00,0,1,21,8,7,42 trueP20,7,5,01,0,0,0P31,2,1,21,1,4,4P41,2,3

6、,00,2,2,00,6,3,21,8,6,21 trueP50,6,2,20,0,1,4進(jìn)程可用資源請求資源占有資源分配釋放 量完成情況P11,8,6,21,2,0,00,0,1,21,8,7,42 trueP21,8,7,40,7,5,01,0,0,02,8,7,413 trueP31,2,1,21,1,4,4P4p,2,3,00,2,2,00,6,3,21,8,6,211 trueP50,6,2,20,0,1,4進(jìn)程可用資源請求資源占有資源分配釋放 量完成情況P11,8,6,21,2,0,00,0,1,21,8,7,42 trueP21,8,7,40,7,5,01,0,0,02,8,7,

7、43 trueP32,8,7,41,2,1,21,1,4,43,9,11,84 trueP4p,2,3,00,2,2,00,6,3,21,8,6,21 trueP50,6,2,20,0,1,4進(jìn)程可用資源請求資源占有資源分配釋放 量完成情況P11,8,6,21,2,0,00,0,1,21,8,7,42 trueP2M,8,7,40,7,5,01,0,0,02,8,7,4;3 trueP32,8,7,41,2,1,21,1,4,43,9,11,84 trueP4p,2,3,00,2,2,00,6,3,21,8,6,21 trueP53,9,11,80,6,2,20,0,1,43,9,12,125

8、 true(2) 進(jìn)程P3提出對資源R3的剩余請求為1,由于系統(tǒng)剩余資源向量A=(1,2, 2, 0),所以假定分配給它,此時仍能找到一個與(1)相同的安全序列,即可以分配;(3) 系統(tǒng)初始配置的各類資源分別為(3, 9, 12, 12)。補充(二)一、分析P、V操作執(zhí)行期間為什么要屏蔽中斷?試舉例說明。參考解答:假設(shè)現(xiàn)有A , B兩進(jìn)程要互斥進(jìn)入臨界區(qū)CS,互斥信號量S.value初值為1。假設(shè)P操作不采用原語方式,如果此時A進(jìn)程欲進(jìn)入臨界區(qū) CS,那么它首先作 P (S)操作。在執(zhí)行完S.value: =S.value -1后S.value值變?yōu)?,此時由于某種原因,分配給A進(jìn)程的時間片結(jié)

9、 束,停止A進(jìn)程運行,系統(tǒng)轉(zhuǎn)而調(diào)用B進(jìn)程。由于此時 S.value =0, B進(jìn)程作P (S)操作,S.value=S.value -1 , S.Value的值變?yōu)?1, B進(jìn)程被封鎖,無法進(jìn)入臨界區(qū)。下次 A進(jìn)程重新 輪到執(zhí)行時, 它從斷點處開始, A進(jìn)程直接作if S.Value <0 then Block(S.blocklist)由于此時 S 值為-1,因此A進(jìn)程也被封鎖,無法進(jìn)入臨界區(qū)CS,此時臨界區(qū) CS是處于空閑的狀態(tài),但A、B進(jìn)程都不能進(jìn)入此臨界區(qū),造成錯誤。由此可以知道P操作需要采用原語方式,即在它執(zhí)行過程中不允許中斷。對于V操作,請讀者自己舉例說明也必須是原語。由上面分

10、析,P、V操作實現(xiàn)臨界區(qū)進(jìn)程互斥,是用簡短的P、V操作屏蔽中斷,即采用原語的方式執(zhí)行,從而使臨界區(qū)可以開放中斷,同時實現(xiàn)進(jìn)程互斥。二、m個生產(chǎn)者進(jìn)程和 n個消費者進(jìn)程共享緩沖區(qū) Bufferi (i=1 , 2, 3k)。生產(chǎn)者進(jìn)程 循環(huán)地生產(chǎn)產(chǎn)品、 把產(chǎn)品依次送入緩沖區(qū),消費者循環(huán)地依次從中取出產(chǎn)品消費。緩沖區(qū)構(gòu)成一個環(huán)形緩沖池。如下圖所示,“滿”的單元表示該緩沖區(qū)單元放有產(chǎn)品,“空”的單元表示該緩沖區(qū)單元為空。rear指向生產(chǎn)者下次存入產(chǎn)品的單元,front表示消費者下次取出產(chǎn)品白單元。利用p、v操作,實現(xiàn)他們的同步(設(shè)置信號量、設(shè)置其初值、畫出同步流程)。說明您設(shè)置的信號量可能的最大值和

11、可能的最小值,何時出現(xiàn)可能的 最大值和可能的最小值的情況。(20分)front答:設(shè)緩沖區(qū)空 信號量 empty, empty.value=k;設(shè)緩沖區(qū)滿信號量full,full.value=0;設(shè)進(jìn)程互斥信號量 mutex, mutex.value=1;生產(chǎn)進(jìn)程消費進(jìn)程Loop :P(empty) P(mutex) 向緩沖區(qū)存產(chǎn)品V(mutex)V(full) Goto looploop: p(full) p(mutex) 從緩沖區(qū)取產(chǎn)品 V(mutex) V(empty) goto loopEmpty可能最大值為k,最小值為-m。生產(chǎn)進(jìn)程都沒有向緩沖區(qū)裝入產(chǎn)品, 緩沖區(qū)全空,Empty取得可能 的最大值ko緩沖區(qū)全滿,m個生產(chǎn)進(jìn)程繼續(xù)要求向緩沖區(qū)裝入產(chǎn)品,一個個都做了 P(empty), empty取得可能的最小值-m。Full可能最大值為k,最小值為-n生

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論