進程管理習(xí)題_第1頁
進程管理習(xí)題_第2頁
進程管理習(xí)題_第3頁
進程管理習(xí)題_第4頁
進程管理習(xí)題_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

進程管理習(xí)題設(shè)有一個可以裝A、B兩種物品的倉庫,其容量無限大,但要求倉庫中A、B兩種物品的數(shù)量滿足下述不等式:-M≤A物品數(shù)量-B物品數(shù)量≤N其中,M和N為正整數(shù)。試用信號量和P、V操作描述A、B兩種物品的入庫過程。進程管理習(xí)題已知條件-M≤A物品數(shù)量-B物品數(shù)量≤N可以拆分成兩個不等式,即:A物品數(shù)量-B物品數(shù)量≤NB物品數(shù)量-A物品數(shù)量≤M這兩個不等式的含義是:倉庫中A物品可以比B物品多,但不能超過N個;B物品可以比A物品多,但不能超過M個。進程管理習(xí)題A物品入庫:P(a);A物品入庫;V(b);B物品入庫:P(b);B物品入庫;V(a);設(shè)兩個信號量:a=N;b=M如果沒有B,A最多只能N個;如果沒有A,B最多只能M個。進程管理習(xí)題設(shè)自行車生產(chǎn)線上有一支箱子,其中有N個位置(N≥3),每個位置可存放一個車架或一個車輪;又設(shè)有三個工人,其活動分別為:工人1活動:Do{加工一個車架;車架放入箱中;}while(1);工人2活動:Do{加工一個車輪;車輪放入箱中;}while(1);工人3活動:Do{箱中取一車架;箱中取二車輪;組裝為一臺車;}while(1);試用信號量與P、V操作實現(xiàn)三個工人的合作進程管理習(xí)題首先不考慮死鎖問題,工人1與工人3、工人2與工人3構(gòu)成生產(chǎn)者與消費者關(guān)系,通過共同的緩沖區(qū)相聯(lián)系。從資源的角度看,箱子中的空位置相當(dāng)于工人1和工人2的資源,而車架和車輪相當(dāng)于工人3的資源。定義3個信號量:empty=N;(空位置)wheel=0;(車輪)frame=0;(車架)進程管理習(xí)題

empty=N;wheel=0;frame=0;工人1:加工一個車架;P(empy);車架放入箱中;V(frame);工人2:加工一個車輪;P(empy);車輪放入箱中;V(wheel);工人3:P(frame);箱中取一車架;P(wheel);P(wheel);箱中取二車輪;V(empty);V(empty);V(empty);組裝為一臺車;是否會死鎖?進程管理習(xí)題為防止死鎖,箱中車架的數(shù)量不能超過N-2,車輪的數(shù)量不能超過N-1,所以設(shè)置:

s1=N-2,s2=N-1工人1:加工一個車架;P(s1);車架放入箱中;V(frame);工人2:加工一個車輪;P(s2);車輪放入箱中;V(wheel);工人3:P(frame);箱中取一車架;V(s1);P(wheel);P(wheel);箱中取二車輪;V(s2);V(s2);組裝為一臺車;進程管理習(xí)題為防止死鎖,箱中車架的數(shù)量不能超過N-2,車輪的數(shù)量不能超過N-1,所以設(shè)置:

s1=N-2,s2=N-1,empty=N工人1:加工一個車架;P(s1);P(empty);車架放入箱中;V(frame);工人2:加工一個車輪;P(s2);

P(empty);車輪放入箱中;V(wheel);工人3:P(frame);箱中取一車架;

V(empty);

V(s1);P(wheel);P(wheel);箱中取二車輪;V(empty);V(empty);V(s2);V(s2);組裝為一臺車;進程管理習(xí)題一座小橋(最多只能承重兩個人)橫跨南北兩岸,任意時刻同一方向只允許一人過橋,南側(cè)橋段和北側(cè)橋段較窄只能通過一人,橋中央一處寬敞,允許兩個人通過或歇息。試用信號量和P、V操作寫出南、北兩岸過橋的同步算法。進程管理習(xí)題load控制橋上人數(shù),north控制北段的互斥使用,south控制南段互斥使用初始值:load=2,north=1,south=1To南:P(load);P(north);過北橋段;到橋中間;V(north);P(south);過南橋段;到達(dá)南岸;V(south);V(load);To北:P(load);P(south);過南橋段;到橋中間;V(south);P(north);過北橋段;到達(dá)北岸;V(north);V(load);進程管理習(xí)題有3個進程PA,PB和PC合作解決文件打印問題:PA將文件記錄從磁盤讀入主存的緩沖區(qū)1,每執(zhí)行一次讀一個記錄;PB將緩沖區(qū)1的內(nèi)容復(fù)制到緩沖區(qū)2,每執(zhí)行一次復(fù)制一個記錄;PC將緩沖區(qū)2的內(nèi)容打印出來,每執(zhí)行一次打印一個記錄。緩沖區(qū)的大小等于一個記錄大小;請用P,V操作來保證文件的正確打印進程管理習(xí)題設(shè)置4個信號量:empty1、empty2、full1、full2empty1及empty2分別表示緩沖區(qū)1及緩沖區(qū)2是否為空,初值為1full1,full2分別表示緩沖區(qū)1及緩沖區(qū)2是否有記錄可供處理,其初值為0緩沖區(qū)1緩沖區(qū)2PA從磁盤讀入PB復(fù)制PC打印進程管理習(xí)題PA()從磁盤讀一個記錄;P(empty1);將記錄存入緩沖區(qū)1;V(full1);PB()P(full1);從緩沖區(qū)1中取出記錄;V(empty1);P(empty2);將記錄存入緩沖區(qū)2;V(full2);PC()P(full2);從緩沖區(qū)2取一個記錄;V(empty2);打印記錄;緩沖區(qū)1緩沖區(qū)2PA從磁盤讀入PB復(fù)制PC打印進程管理習(xí)題公共汽車上,司機和售票員的活動分別為:司機:啟動車輛;正常行駛,到站停車售票員:

關(guān)車門;售票;開車門;司機P1售票員P2

啟動關(guān)門

正常運行售票

到站停開門進程管理習(xí)題設(shè)信號量S1:是否允許司機啟動汽車,初值為0,S2:是否允許售票員開門,初值為0Driver(){While(1){P(S1);啟動汽車;正常行車;到站停車;V(S2);}}Busman(){While(1){關(guān)車門;V(S1);售票;P(S2);開車門;上下乘客;}}Ints1=0;Ints2=0;Main(){CobeginDriver();Busman();Coend}進程管理習(xí)題桌上有一空盤,允許存放一只水果。爸爸可向盤中放蘋果,也可向盤中放桔子,兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時一次只能放一只水果供吃者取用,請用P、V原語實現(xiàn)爸爸、兒子女兒三個進程的同步。進程管理習(xí)題設(shè)三個信號量:S:表示盤子是否為空,初值為1;So:表示盤中是否有桔子,初值為0;Sa:表示盤中是否有蘋果,初值為0。ints=1;intsa=0;intso=0;main(){cobeginfather();son();daughter();coend}進程管理習(xí)題father(){While(1){P(s);將水果放入盤中;if(放入的是桔子)v(so)elsev(sa);}}son(){While(1){P(so);從盤中取出桔子;v(s);吃桔子;}}daughter(){While(1){P(sa);從盤中取出蘋果;v(s);吃蘋果;}}進程管理習(xí)題三個進程P1、P2、P3互斥使用一個包含N(N>0)個單元的緩沖區(qū)。P1每次用produce()生成一個正整數(shù)并用put()送入緩沖區(qū)某已空單元中;P2每次用getodd()從該緩沖區(qū)中取出一個奇數(shù)并用countodd()統(tǒng)計奇數(shù)個數(shù);P3每次用geteven()從該緩沖區(qū)中取出一個偶數(shù)并用counteven()統(tǒng)計偶數(shù)個數(shù)。請用信號量機制實現(xiàn)這三個進程的同步和互斥活動,并說明所定義信號量的含義。要求用偽碼描述。2009年全國碩士研究生入學(xué)考試題進程管理習(xí)題互斥信號量:mutex初值為1;同步信號量:P1、P2因奇數(shù)的放與取而同步,設(shè)置信號量odd,初值為0;P1、P3因偶數(shù)的放與取而同步,設(shè)置信號量even,初值為0;P1、P2、P3因共享緩沖區(qū)而同步,設(shè)置信號量empty,初值為N。進程管理習(xí)題互斥信號量:mutex初值為1;同步信號量:P1、P2因奇數(shù)的放與取而同步,設(shè)置信號量odd,初值為0;P1、P3因偶數(shù)的放與取而同步,設(shè)置信號量even,初值為0;P1、P2、P3因共享緩沖區(qū)而同步,設(shè)置信號量empty,初值為N。P1:

produce()

;P(empty);P(mutex);put();V(mutex);Ifnumber%2==0V(even)ElseV(odd);P2:P(odd);P(mutex);getodd();V(mutex);V(empty);countodd();P3:P(even);P(mutex);geteven();V(mutex);V(empty);counteven();進程管理習(xí)題某銀行提供一個服務(wù)窗口和10個供顧客等待的座位。顧客到達(dá)銀行時,若有空座位,則到取號機上領(lǐng)取一個號,等待叫號。取號機每次僅允許一位顧客使用。當(dāng)營業(yè)員空閑時,通過叫號選取一位顧客,并為其服務(wù)。顧客和營業(yè)員的活動過程描述為:請?zhí)砑颖匾男盘柫亢蚉、V(或wait()、signal())操作,實現(xiàn)上述過程的的互斥與同步。要求寫出完整的過程,說明信號量的含義并賦初值。cobegin{process顧客{從取號機獲得一個號碼;等待叫號;獲得服務(wù);}process營業(yè)員{while(TRUE){叫號;為顧客服務(wù);}}}coend2010年全國碩士研究生入學(xué)考試題進程管理習(xí)題互斥資源:取號機(一次只允許一位顧客領(lǐng)號),因此,設(shè)一個互斥信號量mutex;同步問題顧客需要獲得空座位等待叫號,當(dāng)營業(yè)員空閑時,將選取一位顧客并為其服務(wù)??兆坏挠?、無影響等待顧客數(shù)量,顧客的有、無決定了營業(yè)員是否能開始服務(wù),故分別設(shè)置信號量empty和full來實現(xiàn)這一同步關(guān)系;顧客獲得空座位后,需要等待叫號和被服務(wù)。這樣,顧客與營業(yè)員就服務(wù)何時開始又構(gòu)成了一個同步關(guān)系,定義信號量service來完成這一同步過程。進程管理習(xí)題semaphoremutex=1;//互斥使用取號機semaphoreempty=10;//空座位的數(shù)量semaphorefull=0;//已占座位的數(shù)量semaphoreservice=0;//等待叫號cobegin{process顧客process營業(yè)員{{P(empty);while(TRUE)P(mutex);{從取號機獲得一個號;P(full);V(mutex);V(empty);V(full);V(service);//叫號P(service);//等待叫號為顧客服務(wù);獲得服務(wù);}}}}coend進程管理習(xí)題評分說明①能正確給出互斥信號量定義、含義及初值,給1分。②能正確給出3個同步信號量定義、含義及初值,給2分。③營業(yè)員進程描述正確的,給2分。④顧客進程描述中,互斥描述正確的,給1分;同步描述正確的,給2分;共3分。⑤其他正確解答,參照①-④的標(biāo)準(zhǔn)給分。進程管理習(xí)題圖書館有100個座位,有一張登記表,要求:閱讀者進入時登記,取得座位號;出來時,注銷;登記表同時只能由一個人使用;用P、V原語描述一個讀者的使用過程進程管理習(xí)題信號量SN,表示可用座位數(shù),初值為100;信號量sb,表示登記表是否正在使用,初值為1;reader(inti){enter();閱讀;outer()}enter(){P(SN)P(sb)登記;V(sb);}outer(){P(sb);注銷;V(sb);V(SN);}進程管理習(xí)題某博物館最多可容納500人同時參觀,有一個出入口,該出入口一次僅允許一個人通過。參觀者的活動描述如下:cobegin參觀者進程i:{…進門;…出門;…}coend;請?zhí)砑颖匾男盘柫亢蚉、V(或wait()、signal())操作,以實現(xiàn)上述過程中的互斥與同步。要求寫出完整的過程,說明信號量的含義并賦初值。2012年全國碩士研究生入學(xué)考試題進程管理習(xí)題定義兩個信號量:empty=500;//博物館可以容納的最多人數(shù)mutex=1;//用于出入口資源的控制cobegin參觀者進程i:{…P(empty);P(mutex);進門;V(mutex);參觀;P(mutex);出門;V(mutex);V(empty);…}coend;進程管理習(xí)題某系統(tǒng)有R1、R2和R3共3種資源,在T0時刻P1、P2、P3和P4這4個進程對資源的占用和需求情況見下頁表,此時系統(tǒng)的可用資源向量為(2,1,2),問題:將系統(tǒng)各種資源總數(shù)和此刻各進程對資源的需求數(shù)目用向量或矩陣表示出來;如果此時P1和P2均發(fā)出資源請求向量Request(1,0,1),為保證系統(tǒng)的安全性,應(yīng)如何分配資源給這兩個進程?說明采用策略的原因。進程管理習(xí)題MaxUsed(Allocation)R1R2R3R1R2R3P1322100P2613411P3314211P4422002Need=322613314422100411211002222202103420-=①資源總量(2,1,2)+(1,0,0)+(4,1,1)+(2,1,1)+(0,0,2)=(9,3,6)進程管理習(xí)題MaxUsed(Allocation)NeedR1R2R3R1R2R3R1R2R3P1322100222P2613411202P33142

溫馨提示

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

評論

0/150

提交評論