李建偉版操作系統(tǒng)其次版習(xí)題 3 進(jìn)程同步與通信_(tái)第1頁(yè)
李建偉版操作系統(tǒng)其次版習(xí)題 3 進(jìn)程同步與通信_(tái)第2頁(yè)
李建偉版操作系統(tǒng)其次版習(xí)題 3 進(jìn)程同步與通信_(tái)第3頁(yè)
李建偉版操作系統(tǒng)其次版習(xí)題 3 進(jìn)程同步與通信_(tái)第4頁(yè)
李建偉版操作系統(tǒng)其次版習(xí)題 3 進(jìn)程同步與通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——李建偉版操作系統(tǒng)其次版習(xí)題3進(jìn)程同步與通信1

李建偉版實(shí)用操作系統(tǒng)其次版最新習(xí)題3進(jìn)程同步與通信

一、選擇題

題號(hào)12345678910答案ADDCBCABAA題號(hào)1112答案DC二、綜合題1、答:臨界資源也稱(chēng)獨(dú)占資源、互斥資源,它是指某段時(shí)間內(nèi)只充許一個(gè)進(jìn)程使用的資源。譬如打印機(jī)等硬件資源,以及只能互斥使用的變量、表格、隊(duì)列等軟件資源。各個(gè)進(jìn)程中訪問(wèn)臨界資源的、必需互斥執(zhí)行的程序代碼段稱(chēng)為臨界區(qū),各進(jìn)程中訪問(wèn)同一臨界資源的程序代碼段必需互斥執(zhí)行。

為防止兩個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū),可采用軟件解決方法或同步機(jī)構(gòu)來(lái)協(xié)調(diào)它們。但是,不管是軟件算法還是同步機(jī)構(gòu)都應(yīng)遵循下述準(zhǔn)則:

①空閑讓進(jìn)。②忙則等待。③有限等待。④讓權(quán)等待。

2、答:忙等待意味著一個(gè)進(jìn)程正在等待滿足一個(gè)沒(méi)有閑置處理器的嚴(yán)格循環(huán)的條件。由于只有一個(gè)CPU為多個(gè)進(jìn)程服務(wù),因此這種等待浪費(fèi)了CPU的時(shí)鐘。

其他類(lèi)型的等待:與忙等待需要占用處理器不同,另外一種等待則允許放棄處理器。如進(jìn)程阻塞自己并且等待在適合的時(shí)間被喚醒。忙等可以采用更為有效的方法來(lái)避免。例如:執(zhí)行請(qǐng)求(類(lèi)似于中斷)機(jī)制以及PV信號(hào)量機(jī)制,均可避免“忙等待〞現(xiàn)象的發(fā)生。3、答:

在生產(chǎn)者—消費(fèi)者問(wèn)題中,Producer進(jìn)程中P(empty)和P(mutex)互換先后次序。先

執(zhí)行P(mutex),假設(shè)成功,生產(chǎn)者進(jìn)程獲得對(duì)緩沖區(qū)的訪問(wèn)權(quán),但假使此時(shí)緩沖池已滿,沒(méi)有空緩沖區(qū)可供其使用,后續(xù)的P(empty)原語(yǔ)沒(méi)有通過(guò),Producer阻塞在信號(hào)量empty上,而此時(shí)mutex已被改為0,沒(méi)有恢復(fù)成初值1。切換到消費(fèi)者進(jìn)程后,Consumer進(jìn)程執(zhí)行P(full)成功,但其執(zhí)行P(mutex)時(shí)由于Producer正在訪問(wèn)緩沖區(qū),所以不成功,阻塞在信號(hào)量mutex上。生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程兩者均無(wú)法繼續(xù)執(zhí)行,相互等待對(duì)方釋放資源,會(huì)產(chǎn)生死鎖。

在生產(chǎn)者和消費(fèi)者進(jìn)程中,V操作的次序無(wú)關(guān)緊要,不會(huì)出現(xiàn)死鎖現(xiàn)象。4、答:

2

0

5、答:

設(shè)信號(hào)量sp用于控制對(duì)盤(pán)子的互斥操作,信號(hào)量sg1用于計(jì)數(shù),表示盤(pán)子中的蘋(píng)果數(shù)目,信號(hào)量sg2用于計(jì)數(shù),表示盤(pán)子中的桔子數(shù)目。Semaphoresp=1,sg1=0,sg2=0

3

dad(){

while(1)

{prepareanapple;p(sp);

putanappleontheplate;v(sg2);}}mom(){

while(1)

{prepareanorange;p(sp);

putanorangeontheplate;v(sg1);}}son(){

while(1){

p(sg1);

takeanorangefromtheplate;v(sp);

eattheorange;}}

daughter(){

while(1){

p(sg2);

takeanapplefromtheplate;v(sp);

eattheapple;}}

6、答:

此題是生產(chǎn)者-消費(fèi)者問(wèn)題的一個(gè)擴(kuò)展,P1是生產(chǎn)者,生產(chǎn)的產(chǎn)品分為兩種,P2、P3是消費(fèi)者,分別消費(fèi)這兩種產(chǎn)品。

(1)緩沖區(qū)是一互斥資源,每次只允許一個(gè)進(jìn)程進(jìn)入,所以設(shè)互斥信號(hào)量mutex,其初始值為1。

(2)P1、P2由于奇數(shù)的放置與取用而同步,設(shè)該信號(hào)量為odd,初始值為0;P1、P3由于偶數(shù)的放置與取用而同步,設(shè)該信號(hào)量為even,初始值為0,P1、P2、P3由于共享緩沖區(qū),設(shè)同步信號(hào)量為empty,初始值為N。

4

semaphoremutex=1,odd=0,even=0,empty=Nmain()cobegin{ProcessP1while(true)

{number=produce();P(empty);P(mutex);put();V(mutex);

ifnumber%2==0V(even);else

V(odd);}

ProcessP2while(true){P(odd);P(mutex);getodd();V(mutex);V(empty);countodd();}

ProcessP3while(true){P(even);P(mutex);geteven();V(mutex);V(empty);counteven();}

}coend7、答:

Semaphoremax;//初始n+1,表示理發(fā)店可以容納的總?cè)藬?shù)Semaphorechair;//初始n,空閑的椅子

Semaphorebarber;//初始1,表示理發(fā)椅空閑Semaphorefinished;//初始0,表示一次理發(fā)終止Semaphoreready;//初始0,表示客人準(zhǔn)備就緒Customer:While(1){

wait(max);

5

wait(chair);wait(barber);signal(chair);signal(ready);…barbered…wait(finished);signal(max);}

Barber:While(1){

wait(ready);…barbering…signal(finished);signal(barber);}

8、答:

此題是生產(chǎn)者-消費(fèi)者問(wèn)題的變形。兩個(gè)生產(chǎn)車(chē)間為生產(chǎn)者進(jìn)程,分別生產(chǎn)A、B兩種配將;裝配車(chē)間為消費(fèi)者,把A、B兩種產(chǎn)品組裝成產(chǎn)品。F1和F2為容量是10的緩沖池,需互斥訪問(wèn)。

逐一分析此題中需要同步和互斥的地方,定義信號(hào)量及其初值:(1)mutex1用于貨架F1的互斥訪問(wèn),初值為1;(2)mutex2用于貨架F2的互斥訪問(wèn),初值為1;

(3)empty1和full1用于生產(chǎn)A零件車(chē)間和裝配車(chē)間之間的同步制約關(guān)系。F1最多可以放10個(gè)A零件,所以empty1為10;開(kāi)始時(shí)F1中沒(méi)有A零件,full1的初值為0。(4)empty2和full2用于生產(chǎn)B零件車(chē)間和裝配車(chē)間之間的同步制約關(guān)系。F2最多可以放10個(gè)A零件,所以empty2為10;開(kāi)始時(shí)F2中沒(méi)有B零件,full2的初值為0。A車(chē)間的工作過(guò)程的偽代碼描述為:while(1){

生產(chǎn)一個(gè)產(chǎn)品A;P(empty1);P(mutex1);

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論