版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
操作系統(tǒng)概念進程同步問題實例1本章主要內容經(jīng)典同步問題生產(chǎn)者-消費者問題:緩沖區(qū)問題嗜睡理發(fā)師問題吸煙者問題吃水果問題21經(jīng)典同步問題有限緩沖問題讀者-作者問題哲學家進餐問題3有限緩沖問題(生產(chǎn)者-消費者問題)do{ … produceaniteminnextp … wait(empty); wait(mutex); … addnextptobuffer … signal(mutex); signal(full);}while(1);do{ wait(full); wait(mutex); … removeanitemfrombuffertonextc … signal(mutex); signal(empty); … consumetheiteminnextc …}while(1);4讀者-作者問題一個數(shù)據(jù)對象可以為多個并發(fā)進程所共享。其中有的進程可能只需要讀共享對象的內容,而其他進程可能要更新共享對象(即讀和寫)。將只對讀感興趣的進程稱為讀者其他則稱為作者第一讀者-作者問題僅當無讀者等待時,才允許寫者執(zhí)行第二讀者-作者問題在讀者與作者同時申請資源的時候,寫者優(yōu)先。5第一讀者-作者問題wait(wrt);…writingisperformed…signal(wrt);wait(mutex);readcount++;if(readcount==1) wait(wrt);signal(mutex);…readingisperformed…wait(mutex);readcount--;if(readcount==0) signal(wrt);signal(mutex);6哲學家就餐問題7
共享數(shù)據(jù)semaphorechopstick[5];哲學家i結構do{ wait(chopstick[i]); wait(chopstick[(I+1)%5]); … eat … signal(chopstick[i]); signal(chopstick[(I+1)%5]); … think …}while(1);82緩沖區(qū)問題(生產(chǎn)者-消費者問題)三個進程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)這三個進程的同步與互斥活動,并說明所定義的信號量的含義。要求用偽代碼描述。9緩沖區(qū)問題求解(1)緩沖區(qū)是一互斥資源,因此設互斥信號量mutex。(2)同步問題:P1、P2因為奇數(shù)的放置與取用而同步,設同步信號量odd;P1、P3因為偶數(shù)的放置于取用而同步,設同步信號量even;P1、P2、P3因為共享緩沖區(qū),設同步信號量empty。semaphoremutex=1,odd=0,even=0,empty=N;ProcessP1:while(true){number=produce();P(empty);P(mutex);put();V(mutex);Ifnumber%2==0V(even);elseV(odd);}10緩沖區(qū)問題求解ProcessP2:while(true){P(odd);P(mutex);getodd();V(mutex);V(empty);countodd();}ProcessP3:while(true){P(even);P(mutex);geteven();V(mutex);V(empty);counteven();}113嗜睡理發(fā)師問題一個理發(fā)店里有一個理發(fā)師,一張理發(fā)椅子,多張等候的椅子,當沒有顧客的時候,理發(fā)師就睡覺。當一個顧客來到店里時,如果理發(fā)師在睡覺,則叫醒理發(fā)師;否則便坐著等;如果等待的椅子都滿了就離開。
123嗜睡理發(fā)師問題int
waiting=0;//等候理發(fā)的顧客數(shù)
int
chairs=5;
//為顧客準備的椅子數(shù)
semaphore
customers=0,barbers=0,mutex=1;
Barber進程:while(TRUE){P(cutomers);//若無顧客,理發(fā)師睡眠P(mutex);//進程互斥,要求顧客等候
waiting=waiting–1;//等候顧客數(shù)少一個V(barbers);//理發(fā)師去為一個顧客理發(fā)V(mutex);//開放臨界區(qū)cut-hair();//正在理發(fā)(非臨界區(qū)操作)}Customer進程:P(mutex);//進入臨界區(qū)if(waiting<chairs){waiting=waiting+1;//等候顧客數(shù)加1V(customers);//必要的話喚醒理發(fā)師V(mutex);//開放臨界區(qū)P(barbers);//無理發(fā)師,顧客坐著養(yǎng)神get-haircut();//一個顧客坐下等候服務}elseV(mutex);//人滿了,上自習去!134吸煙者問題三個吸煙者在一間房間內,還有一個香煙供應者。(1)為了制造并抽掉香煙,每個吸煙者需要三樣東西:煙草、紙和火柴。(2)供應者有豐富的貨物提供。(3)三個吸煙者中,第一個有自己的煙草,第二個有自己的紙,第三個有自己的火柴。(4)供應者將兩樣東西放在桌子上,允許一個吸煙者進行對健康不利的吸煙。當吸煙者完成吸煙后喚醒供應者,供應者再放兩樣東西(隨機地)在桌面上,然后喚醒另一個吸煙者。試為吸煙者和供應者用同步法解決問題。144吸煙者問題供應者需要3個進程X:提供tobacco和matchY:提供match和wrapperZ:提供wrapper和tobacco3個吸煙者進程A:只有tobaccoB:只有matchC:只有wrapper則一次只能有X,Y,Z中的一個執(zhí)行(供應);X,Y,Z只能在消耗完一個后才能供應下一個154吸煙者問題Semaphoretobacco=0,match=0,wrapper=0,mutex=1;ProcessX:P(mutex);V(tobacco);V(match);ProcessY:P(mutex);V(match);V(wrapper);ProcessZ:P(mutex);V(wrapper);V(tobacco);ProcessA:P(match);P(wrapper);Smoke;V(mutex);ProcessB:P(wrapper);P(tobacco);Smoke;V(mutex);ProcessC:P(tobacco);P(match);Smoke;V(mutex);16桌上有一空盤,允許存放一只水果。爸爸向盤中放蘋果,媽媽向盤中放桔子,兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當盤空時一次只能放一只水果供吃者取用,請用P、V原語實現(xiàn)爸爸、媽媽、兒子、女兒三個并發(fā)進程的同步。5吃水果問題plate爸爸媽媽兒子女兒175吃水果問題應設置三個信號量S、So、Sa,信號量S表示盤子是否為空,其初值為1;信號量So表示盤中是否有桔子,其初值為0;信號量Sa表示盤中是否有蘋果,其初值為0。同步描述如下:SemaphorS=1,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026德宏職業(yè)學院引進研究生10人筆試備考重點題庫及答案解析
- 寧都縣2025年選調縣直機關事業(yè)單位工作人員【40人】筆試備考重點題庫及答案解析
- 2025貴州貴安新區(qū)公開招聘中小學教師110人備考考試題庫及答案解析
- 翻譯面試題目集及高情商回應方法
- 2025廣東江門恩平市公用事業(yè)投資經(jīng)營管理有限公司及屬下公司工作人員招聘22人模擬筆試試題及答案解析
- 飛機場廣播系統(tǒng)操作員面試題及答案
- 2025年湖北省婦幼保健院備考題庫部工作人員招聘備考題庫及答案詳解一套
- 電器回收售賣合同范本
- 通信行業(yè)部門主管面試技巧與答案解析
- 2025福建浦盛產(chǎn)業(yè)發(fā)展集團有限公司食品生產(chǎn)線招聘1人筆試備考重點題庫及答案解析
- 廣東省廣州市越秀區(qū)2024-2025學年上學期期末考試九年級數(shù)學試題
- 課標考試2025年版《義務教育數(shù)學課程標準》測試卷試題庫(和答案)
- DL∕T 5210.6-2019 電力建設施工質量驗收規(guī)程 第6部分:調整試驗
- 高中物理學業(yè)水平測試常用公式及知識點
- 肝膽科學科發(fā)展規(guī)劃
- 2024年保安員資格考試初級理論知識試題庫及答案(共290題)
- 心腦血管疾病的健康管理
- 2024年浙江省大學生物理競賽
- 普通診所污水、污物、糞便處理方案 及周邊環(huán)境情況說明
- 國開02150-計算機網(wǎng)絡(本)機考復習資料
- 設計變更通知單四篇
評論
0/150
提交評論