操作系統(tǒng) 經(jīng)典同步問(wèn)題._第1頁(yè)
操作系統(tǒng) 經(jīng)典同步問(wèn)題._第2頁(yè)
操作系統(tǒng) 經(jīng)典同步問(wèn)題._第3頁(yè)
操作系統(tǒng) 經(jīng)典同步問(wèn)題._第4頁(yè)
操作系統(tǒng) 經(jīng)典同步問(wèn)題._第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1Semaphore Primitives等待該信號(hào)量的進(jìn)程隊(duì)列等待該信號(hào)量的進(jìn)程隊(duì)列進(jìn)程按什么順序移出呢?進(jìn)程按什么順序移出呢?Strong semaphoreWeak semaphoreatomic2Mutual Exclusion Using Semaphores第一個(gè)執(zhí)行第一個(gè)執(zhí)行semWait操作的進(jìn)程將進(jìn)入臨操作的進(jìn)程將進(jìn)入臨界區(qū)界區(qū)3Producerproducer:while (true) /* produce item v */bin = v;in+; 4Consumerconsumer:while (true) while (in 0S0表示有表示有S S個(gè)資源可用;個(gè)資源

2、可用; S=0S=0表示無(wú)資源可用;表示無(wú)資源可用; S0S0則則| | S |S |表示表示S S等待隊(duì)列中的進(jìn)程個(gè)數(shù)。等待隊(duì)列中的進(jìn)程個(gè)數(shù)。 信號(hào)量的初值應(yīng)該大于等于信號(hào)量的初值應(yīng)該大于等于0 0 wait(s)wait(s)(P(S)P(S)): :表示申請(qǐng)一個(gè)資源表示申請(qǐng)一個(gè)資源 signal(s)signal(s)(V(S)V(S)): :表示釋放一個(gè)資源。表示釋放一個(gè)資源。17進(jìn)程操作總結(jié)(續(xù))2) wait(P)/signal(V)操作必須成對(duì)出現(xiàn),有操作必須成對(duì)出現(xiàn),有一個(gè)一個(gè)wait(P)操作就一定有一個(gè)操作就一定有一個(gè)signal(V)操作操作 當(dāng)為互斥操作時(shí),它們同處于同

3、一進(jìn)程當(dāng)為互斥操作時(shí),它們同處于同一進(jìn)程 當(dāng)為同步操作時(shí),則不在同一進(jìn)程中出現(xiàn)當(dāng)為同步操作時(shí),則不在同一進(jìn)程中出現(xiàn) 如果如果wait(S1)和和wait(S2)兩個(gè)操作在一起,那兩個(gè)操作在一起,那么么wait操作的順序至關(guān)重要操作的順序至關(guān)重要,一個(gè)同步一個(gè)同步wait操作操作與一個(gè)互斥與一個(gè)互斥wait操作在一起時(shí)同步操作在一起時(shí)同步wait操作在互操作在互斥斥wait操作前;而兩個(gè)操作前;而兩個(gè)signal操作無(wú)關(guān)緊要操作無(wú)關(guān)緊要【例題】司機(jī)進(jìn)程:司機(jī)進(jìn)程:while(1)while(1) 啟動(dòng)車(chē)輛啟動(dòng)車(chē)輛正常駕駛正常駕駛到站停車(chē)到站停車(chē) 售票員進(jìn)程:售票員進(jìn)程:while(1)while

4、(1) 關(guān)門(mén)關(guān)門(mén)售票售票開(kāi)門(mén)開(kāi)門(mén) 1.1.用用P/VP/V(wait/signalwait/signal)操作解決司機(jī)與售票員的問(wèn)題操作解決司機(jī)與售票員的問(wèn)題19解:設(shè)有兩個(gè)信號(hào)量設(shè)有兩個(gè)信號(hào)量S1,S2,初值均為初值均為0。司機(jī)進(jìn)程:司機(jī)進(jìn)程:while(1)while(1) P(S1) P(S1) 啟動(dòng)車(chē)輛啟動(dòng)車(chē)輛正常駕駛正常駕駛 到站停車(chē)到站停車(chē) V(S2)V(S2) 售票員進(jìn)程:售票員進(jìn)程:while(1)while(1) 關(guān)門(mén)關(guān)門(mén) V(S1)V(S1)售票售票 P(S2)P(S2)開(kāi)門(mén)開(kāi)門(mén) 【思考題】o1.桌上有一空盤(pán),最多允許存放一只水桌上有一空盤(pán),最多允許存放一只水果。爸爸可向盤(pán)

5、中放一個(gè)蘋(píng)果或放一個(gè)果。爸爸可向盤(pán)中放一個(gè)蘋(píng)果或放一個(gè)桔子,兒子專(zhuān)等吃盤(pán)中的桔子,女兒專(zhuān)桔子,兒子專(zhuān)等吃盤(pán)中的桔子,女兒專(zhuān)等吃蘋(píng)果。等吃蘋(píng)果。試用試用wait、signal操作實(shí)現(xiàn)爸爸、兒子、操作實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。女兒三個(gè)并發(fā)進(jìn)程的同步。提示:設(shè)置一個(gè)信號(hào)量表示可否向盤(pán)中放提示:設(shè)置一個(gè)信號(hào)量表示可否向盤(pán)中放水果,一個(gè)信號(hào)量表示可否取桔子,一水果,一個(gè)信號(hào)量表示可否取桔子,一個(gè)信號(hào)量表示可否取蘋(píng)果。個(gè)信號(hào)量表示可否取蘋(píng)果。21o 2.把學(xué)生和監(jiān)考老師都看作進(jìn)程把學(xué)生和監(jiān)考老師都看作進(jìn)程, , 學(xué)生有學(xué)生有N N人人, , 教師教師1 1人人. . 考場(chǎng)門(mén)口每次只能進(jìn)出一個(gè)考場(chǎng)門(mén)口每次只能進(jìn)出一個(gè)人人, , 進(jìn)考場(chǎng)原則是先來(lái)先進(jìn)進(jìn)考場(chǎng)原則是先來(lái)先進(jìn). . 當(dāng)當(dāng)N N個(gè)學(xué)生都個(gè)學(xué)生都進(jìn)入考場(chǎng)后進(jìn)入考場(chǎng)后, , 教師才能發(fā)卷子教師才能發(fā)卷子. . 學(xué)生交卷后學(xué)生交卷后可以離開(kāi)考場(chǎng)可以離開(kāi)考場(chǎng). . 教師要等收上來(lái)全部卷子并教師要等收上來(lái)全部卷子并封裝卷子后才能離開(kāi)考場(chǎng)封裝卷子后才能離開(kāi)考場(chǎng).

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論