版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信號(hào)量機(jī)制,P、V操作例題,信號(hào)量機(jī)制,信號(hào)量機(jī)制,wait和signal又稱(chēng)為P、V操作,P、V原語(yǔ), P、V操作的一般描述如下: P操作: (1)S減1; (2)若s減1后仍大于或等于零,則進(jìn)程繼續(xù)執(zhí)行(可進(jìn)入臨界區(qū)); (3)若s減1后小于零,則該進(jìn)程被阻塞在與該信號(hào)相對(duì)應(yīng)的隊(duì)列中,然后轉(zhuǎn)進(jìn)程調(diào)度。,P、V操作,V操作: (1)S加1; (2)若相加結(jié)果大于零,進(jìn)程繼續(xù)執(zhí)行(無(wú)等待該臨界資源的阻塞進(jìn)程); (3)若相加結(jié)果小于或等于零,則從該信號(hào)的等待隊(duì)列中喚醒一個(gè)等待進(jìn)程,然后再返回原進(jìn)程繼續(xù)執(zhí)行或轉(zhuǎn)進(jìn)程調(diào)度。,1、獨(dú)木橋問(wèn)題。某條河上只有一座獨(dú)木橋,以便行人過(guò)橋,現(xiàn)在河的兩邊都有人要
2、過(guò)橋,按照下面的規(guī)則過(guò)橋,為了保證過(guò)橋安全,請(qǐng)用P,V操作分別實(shí)現(xiàn)正確的管理。 過(guò)橋的規(guī)則:同一方向的可連續(xù)過(guò)橋,某方向有人過(guò)橋時(shí)另一方向的人要等待。,2、桌上有一空盤(pán),允許存放一只水果。爸爸可向盤(pán)中放蘋(píng)果,也可向盤(pán)中放桔子,兒子專(zhuān)等吃盤(pán)中的香蕉,女兒專(zhuān)等吃盤(pán)中的蘋(píng)果。規(guī)定當(dāng)盤(pán)空時(shí)一次只能放一只水果供吃者使用,請(qǐng)用P,V原語(yǔ)實(shí)現(xiàn)爸爸、兒子、女兒三個(gè)并發(fā)進(jìn)程的同步。,3、某寺廟,有小、老和尚若干,有一水缸,有小和尚提水入缸供老和尚飲用。水缸可容10 桶水,水取自同一井中。水井徑窄,每次只能容一個(gè)桶取水。水桶總數(shù)為3個(gè)。每次入、取缸水僅為1桶,且不可同時(shí)進(jìn)行。給出取水、入水的算法描述。,1、獨(dú)木橋
3、問(wèn)題。過(guò)橋的規(guī)則:同一方向的可連續(xù)過(guò)橋,某方向有人過(guò)橋時(shí)另一方向的人要等待。,Var Semaphore mutex,Lmutex,Rmutex=1,0,0; int Lcount=0, Rcount=0; Main() cobegin Left(); Right(); Coend Left() while (true) P(Lmutex); if Lcount=0 P(mutex); Lcount=Lcount+1; V(Lmutex) 過(guò)橋; p(Lmutex); if Lcount=0 V(mutex); Lcount=Lcount-1; V(Lmutex) ,/mutex左右兩邊過(guò)橋的
4、互斥信號(hào)量;Lcount, Rcount左右兩邊過(guò)橋人數(shù) /Lmutex, Rmutex 分別表示對(duì)Lcount, Rcount互斥訪(fǎng)問(wèn)的信號(hào)量,Right() while (true) P(Rmutex); if Rcount=0 P(mutex); Rcount=Rcount+1; V(Rmutex) 過(guò)橋; p(Rmutex); if Rcount=0 V(mutex); Rcount=Rcount-1; V(Rmutex) ,桌上有一空盤(pán),允許存放一只水果。爸爸可向盤(pán)中放蘋(píng)果和香蕉,兒子專(zhuān)等吃盤(pán)中的香蕉,女兒專(zhuān)等吃盤(pán)中的蘋(píng)果。,Var dish,apple,banana:Semapho
5、re:=1,0,0; Main() cobegin Father(); son();daugher(); Coend Father() while (true) p(dish); if 放的是蘋(píng)果 v(apple); else V(banana) ,son() while (true) p(banana);從盤(pán)子取香蕉;v(dish); 吃香蕉; daugher() while (true) p(apple);從盤(pán)子取蘋(píng)果;v(dish); 吃蘋(píng)果; ,/dish互斥使用盤(pán)子;apple盤(pán)中蘋(píng)果數(shù);banana盤(pán)中香蕉數(shù),桌上有一空盤(pán),允許存放一只水果。爸爸可向盤(pán)中放蘋(píng)果,媽媽向盤(pán)中放香蕉,兒
6、子專(zhuān)等吃盤(pán)中的香蕉,女兒專(zhuān)等吃盤(pán)中的蘋(píng)果。,Var dish,apple,banana:Semaphore:=1,0,0; Main() cobegin Father();mother();son();daugher(); Coend Father() while (true) p(dish); 將蘋(píng)果放入盤(pán)子;v(apple); Mother() while (true) p(dish);將香蕉放入盤(pán)子;v(banana); ,son() while (true) p(banana);從盤(pán)子取香蕉;v(dish); 吃香蕉; daugher() while (true) p(apple);從
7、盤(pán)子取蘋(píng)果;v(dish); 吃蘋(píng)果; ,/dish互斥使用盤(pán)子;apple盤(pán)中蘋(píng)果數(shù);banana盤(pán)中香蕉數(shù),某寺廟,有小、老和尚若干,有一水缸,有小和尚提水入缸供老和尚飲用。水缸可容10 桶水,水取自同一井中。水井徑窄,每次只能容一個(gè)桶取水。水桶總數(shù)為3個(gè)。每次入、取缸水僅為1桶,且不可同時(shí)進(jìn)行。給出取水、入水的算法描述,Semaphore mutex1=1;mutex2=1; empty=10;full=0;count=3; Main() cobegin get(); use(); coend Get() /小和尚入水 while (true) p(empty) ; p(count) ; P(mutex1); 從井中取水; v(mutex1) ; P(mutex2) ; 將水倒入缸中; v (mutex2) ; v (count) ; v (full) ; ,Use() /老和尚取水 while(true) p (full) ; p(count) ; P(mutex2) ;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 4牧業(yè)行政辦公室年終工作總結(jié)和某年工作計(jì)劃
- 淺析網(wǎng)絡(luò)計(jì)劃技術(shù)在施工項(xiàng)目管理中的問(wèn)題計(jì)算機(jī)
- 大學(xué)生學(xué)期計(jì)劃
- 安全管理部的培訓(xùn)計(jì)劃
- 2025年銷(xiāo)售人員月工作計(jì)劃范文
- 春季學(xué)期教導(dǎo)處工作計(jì)劃范文教學(xué)
- 數(shù)學(xué)備課組教學(xué)工作計(jì)劃
- 2020版 滬教版 高中音樂(lè) 必修6音樂(lè)與戲劇 上篇《第二單元 粉墨春秋》大單元整體教學(xué)設(shè)計(jì)2020課標(biāo)
- 合同保留期限的規(guī)定
- 停車(chē)場(chǎng)收費(fèi)系統(tǒng)網(wǎng)絡(luò)接入合同條款
- GB 45067-2024特種設(shè)備重大事故隱患判定準(zhǔn)則
- 東亞研究智慧樹(shù)知到期末考試答案章節(jié)答案2024年廣東外語(yǔ)外貿(mào)大學(xué)
- 電力工程施工進(jìn)度計(jì)劃和保證工期的措施
- 上海市2022年楊浦區(qū)初三化學(xué)一模試卷(含答案)
- 強(qiáng)聯(lián)智創(chuàng)輔助診療及醫(yī)患系統(tǒng)平臺(tái)建設(shè)項(xiàng)目
- 火力發(fā)電廠(chǎng)施工圖設(shè)計(jì)計(jì)守則熱機(jī)
- 樓棟燃?xì)庹{(diào)壓箱零部件、放散壓力和切斷壓力典型設(shè)置實(shí)例、常見(jiàn)故障、原因及處理方法
- 設(shè)計(jì)資料保密協(xié)議
- 蘇教版五年級(jí)數(shù)學(xué)上冊(cè)第九單元《整理與復(fù)習(xí)》全部教案(共5課時(shí))
- 開(kāi)放式基金通過(guò)交易所認(rèn)購(gòu)、申購(gòu)、贖回系統(tǒng)接口指南-券商
- GB∕T 309-2021 滾動(dòng)軸承 滾針
評(píng)論
0/150
提交評(píng)論