課件復(fù)習(xí)二章練習(xí)_第1頁
課件復(fù)習(xí)二章練習(xí)_第2頁
課件復(fù)習(xí)二章練習(xí)_第3頁
課件復(fù)習(xí)二章練習(xí)_第4頁
課件復(fù)習(xí)二章練習(xí)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1.一條小河上有一座獨木橋,規(guī)定每次只允許一個人過橋?,F(xiàn)河?xùn)|和河西都有相等的人數(shù)在等待過橋,為了使兩邊的人都有同樣的過橋機(jī)會,規(guī)定某邊的一個人過橋后要讓另一邊的一個人過橋,即兩邊的人交替過橋。如果把每個過橋者看做一個進(jìn)程,為保證安全,可用PV操作來管理。(1)寫出應(yīng)定義的信號量及其初值。(2)假定開始時讓河?xùn)|的一個人先過橋,然后交替過橋。請用適當(dāng)?shù)腜V操作,達(dá)到上述管理要求。

1.解答:1)定義兩個信號量S1和S2,S1:=1,S2:=0。2)假定開始時讓河?xùn)|的一個人先過橋,則用PV操作管理時的程序應(yīng)如下:processE->W;

begin

……

P(S1);

過橋;

V(S2);

……

end;

processW->E;

begin

……

P(S2);

過橋;

V(S1);

……

end;

2.某車站售票廳,任何時刻最多可容納20名購票者進(jìn)入,當(dāng)售票廳中少于20名購票者時,則廳外的購票者可立即進(jìn)入,否則需在外面等待。若把一個購票者看作一個進(jìn)程,請回答下列問題:

(1)用PV操作管理這些并發(fā)進(jìn)程時,應(yīng)怎樣定義信號量,寫出信號量的初值以及信號量各種取值的含義。

(2)根據(jù)所定義的信號量,利用PV操作寫出能正確并發(fā)執(zhí)行的進(jìn)程。

(3)若欲購票者最多為n個人,寫出信號量可能的變化范圍(最大值和最小值)。解答3.某高校計算機(jī)系開設(shè)網(wǎng)絡(luò)課并安排上機(jī)實習(xí),假設(shè)機(jī)房共有2m臺機(jī)器,有2n名學(xué)生,規(guī)定:每兩個學(xué)生組成一組,各占一臺機(jī)器,協(xié)同完成實習(xí);只有一組兩個學(xué)生到齊,并且此時機(jī)房有空閑機(jī)器時,該組學(xué)生才能進(jìn)入機(jī)房;上機(jī)實習(xí)由一名教師檢查,當(dāng)學(xué)生上完機(jī)后,教師檢查完一組學(xué)生的實習(xí)后,這組學(xué)生才能同時離開。試用P,V操作模擬上機(jī)實習(xí)的過程。(提示:除了有學(xué)生和教師進(jìn)程外,還應(yīng)該有門衛(wèi)進(jìn)程)解答4.某工廠有兩個生產(chǎn)車間和一個裝配車間,兩個生產(chǎn)車間分別生產(chǎn)A、B兩種零件,裝配車間的任務(wù)是把A、B兩種零件組裝成產(chǎn)品。兩個生產(chǎn)車間每生產(chǎn)一個零件后都要分別把它們送到裝配車間的貨架F1和F2上,F(xiàn)1存放A、F2存放B;

F1、F2的容量均為10。裝配工人每次從貨架上取一個零件A和B后組裝成產(chǎn)品。請用P、V操作進(jìn)行正確的管理。解答2.答:(1)定義一信號量S,初始值為20。意義:

S>0S的值表示可繼續(xù)進(jìn)入售票廳的人數(shù)

S=0表示售票廳中已有20名顧客(購票者)S<0|S|的值為等待進(jìn)入售票廳的人數(shù)(2)COBEGINPROCESSPi(i=1,2,……)begin;

P(S);進(jìn)入售票廳;購票;退出;

V(S);

end;

COEND(3)S的最大值為20S的最小值為20-nstudent:

beginP(computer);//得到一臺計算機(jī)

V(student);//有學(xué)生來,通知門衛(wèi)

P(enter);//等待進(jìn)入

Practice;V(finish);//結(jié)束,通知教師

P(test);//等待教師檢查

V(computer);//釋放計算機(jī)資源

End;Teacher:beginP(finish);//等待學(xué)生實習(xí)結(jié)束

P(finish);//等另一學(xué)生實習(xí)結(jié)束

Check;V(test);//檢查完成

V(test);//檢查完成

End;Guard:beginP(student);//等待學(xué)生到達(dá)

P(student);//等待另一學(xué)生到達(dá)

V(enter);//允許學(xué)生進(jìn)入

V(enter);//允許另一學(xué)生進(jìn)入

End;Varputer,enter,finish,test:semaphore:=0,2m,0,0,0;3.解答:返回(2)COBEGIN

PROCESSP1begin;生產(chǎn)一個零件A

P(puta);

P(mutex1)放到貨架F1;

V(mutex1)

V(geta);

end;

PROCESSP2begin;生產(chǎn)一個零件B

P(putb);

P(mutex2)放到貨架F2;

V(mutex2)

V(getb);

end;

4、解答:

(1)varputa,geta,putb,getb,mutex1,mutex2:semaphore=10,0,10,0,1,1返回PROCESSCbegin;

P(geta);

P(mutex1);從貨架F1取零件A;

V(mutex1);

V(puta);

P(getb)

溫馨提示

  • 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

提交評論