作業1-進程同步-答案_第1頁
作業1-進程同步-答案_第2頁
作業1-進程同步-答案_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

作業1-進程同步-答案作業1-進程同步-答案作業1-進程同步-答案資料僅供參考文件編號:2022年4月作業1-進程同步-答案版本號:A修改號:1頁次:1.0審核:批準:發布日期:用記錄型信號量解決以下問題,用類C語言編寫進程同步算法。司機P1售票員P2

REPEATREPEAT

啟動關門

正常運行售票

到站停開門

UNTILFALSEUNTILFALSE兩個進程合作完成數據計算和打印工作,計算進程未計算完就不可打印,反之也然,雙方共用一個緩沖區,寫出此算法。桌子上有一只盤子,最多可容納兩個水果,每次只能放人或取出一個水果。爸爸專向盤子中放蘋果(apple),媽媽專向盤子中放桔子(orange),兩個兒子專等吃盤子中的桔子,兩個女兒專等吃盤子中的蘋果。請用P、V操作來實現爸爸、媽媽、兒子、女兒之間的同步與互斥關系。桌子上有一只盤子,每次只能放入一只水果。爸爸專向盤中放蘋果,媽媽專向盤中放桔子,一個兒子專等吃盤中的桔子,一個女兒專等吃盤中的蘋果。請利用P、V操作寫出父親、母親、兒子、女兒進程的同步算法。設有四個并發執行的進程P1、P2、P3、p4,其前趨圖如下,試用信號量實現這四個進程同步。1Vars1,s2:semaphore:=0,0;parbegin司機P1

REPEAT

wait(s1)啟動正常運行到站停Signal(s2)UNTILFALSE售票員P2REPEAT關門Signal(s1)售票Wait(s2)開門UNTILFALSEparend2Varempty,full:semaphore:=1,0;parbeginCalculate:beginrepeatwait(empty);計算;signal(full);untilfalse;endPrint:beginrepeatwait(full);打印;signal(empty);untilfalse;endparend3盤子為互斥資源,因可以放兩個水果,empty初值為2;再設信號量mutex初值為1,控制對盤子的互斥訪問;apple表示盤中蘋果個數,orange表示盤中桔子個數,初值均為0。Varmutex,empty,apple,orange:semaphore:=1,2,0,0;parbeginFather:beginp(empty);P(mutex);放蘋果;V(mutex);V(apple);end;Mother:beginP(empty);P(mutex);放桔子;V(mutex);V(orange);End;Daughter:beginp(apple);P(mutex);取蘋果;V(mutex);V(empty);End;Son:beginP(orange);P(mutex);取桔子;V(mutex);V(empty);End;Parend4在本題中,應設置三個信號量s、so、sa信號量s表示盤子是否為空,其初值為1;信號量so表示盤中是否有桔子,其初值為0;信號量sa表示盤中是否有蘋果,其初值為0.同步描述如下:vars,so,sa:semaphone:=1,0,0;parbeginfather();mother();son();daughter();parendfather()wait(s);將水果放入盤中;signal(sa);mother()wait(s);將水果放入盤中;signal(so);son()wait(so);從盤中取出桔子;signal(s);吃桔子;daughter()wait(sa);從盤中取出蘋果;signal(s);吃蘋果;5vara,b,c,d:semaphore:=0,0,0,0; parbegin P1:begin…signal(a);signal(b); end P2:beginwait(a);

溫馨提示

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

評論

0/150

提交評論