



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——操作系統(tǒng)第4章習(xí)題課P127三、應(yīng)用題:
1.另一個(gè)經(jīng)典同步問題:吸煙者問題(patal,1971)。三個(gè)吸煙者
在一間房間內(nèi),還有一個(gè)香煙供應(yīng)者。為了制造并抽掉香煙,每個(gè)吸煙者需要三樣?xùn)|西:煙草、紙和火柴。供應(yīng)者有豐富的貨物提供。三個(gè)吸煙者中,第一個(gè)有自己的煙草,其次個(gè)有自己的紙,第三個(gè)有自己的火柴。供應(yīng)者將兩樣?xùn)|西放在桌子上,允許一個(gè)吸煙者進(jìn)行對健康不利的吸煙。當(dāng)吸煙者完成吸煙后喚醒供應(yīng)者,供應(yīng)者再放兩樣?xùn)|西(隨機(jī)地)在桌面上,然后喚醒另一個(gè)吸煙者。試采用信號量和P、V操作編寫他們同步工作的程序。問題分析:
供應(yīng)者seller隨即產(chǎn)生兩樣?xùn)|西,提供它們,這里用普通變量來表示
吸煙者進(jìn)程smoker根據(jù)其排號不同,擁有不同的一件東西。假設(shè)1號吸煙者擁有煙草tobacco,2號吸煙者擁有紙paper,3號吸煙者擁有火柴match。其他號碼錯(cuò)誤返回。
吸煙者的序號代表他們擁有的東西,用他們的序號和供應(yīng)者產(chǎn)生的兩樣?xùn)|西比較,假使都不相等,則說明他擁有的東西和供應(yīng)者產(chǎn)生的東西匹配,它可以吸煙。假使其中一個(gè)相等,則退出,繼續(xù)排隊(duì)。mutex信號量代表一個(gè)只能進(jìn)入的門,每次只有一個(gè)吸煙者可以進(jìn)入進(jìn)行比較和吸煙。
每個(gè)吸煙者在吸煙完畢之后出門之前要叫醒供應(yīng)者,調(diào)用seller
進(jìn)程。
vars,S1,S2,S3;semaphore;S:=1;S1:=S2:=S3:=0;fiag1,flag2,fiag3:Boolean;fiag1:=flag2:=flag3:=true;cobeginprocess供應(yīng)者beginrepeatP(S);
取兩樣香煙原料放桌上,由flagi標(biāo)記;//flag1、flag2、flag3代表煙草、紙、火柴ifflag2//供紙和火柴
elseifflag1//供煙草和火柴elseV(S3);//供煙草和紙untilefalse;end
process吸煙者1beginrepeatP(S1);
取原料;做香煙;V(S);吸香煙;untilefalse;end
process吸煙者2beginrepeat
P(S2);取原料;做香煙;V(S);吸香煙;untilefalse;end
process吸煙者3beginrepeatP(S3);取原料;做香煙;
V(S);吸香煙;untilefalse;endcoend
2.在一個(gè)盒子里,混裝了數(shù)量相等的圍棋白子和黑子,現(xiàn)在要用自動(dòng)分揀系統(tǒng)把白子和黑子分開。該系統(tǒng)設(shè)有兩個(gè)進(jìn)程P1和P2,其中P1揀白子,P2揀黑子。規(guī)定每個(gè)進(jìn)程每次只揀一子,當(dāng)一進(jìn)程正在揀子時(shí),不允許另一個(gè)進(jìn)程去揀,當(dāng)一進(jìn)程揀了一子時(shí),必需讓另一進(jìn)程去揀,試寫出兩個(gè)并發(fā)進(jìn)程能正確執(zhí)行的算法。
分析:實(shí)質(zhì)上是兩個(gè)進(jìn)程的同步問題,設(shè)信號量S1和S2分別表示可揀白子和黑子,不失一般性,若令先揀白子。varS1,S2:semaphore;S1:=1;S2:=0;Cobegin{processP1begin
repeatP(S1);揀白子V(S2);
untilfalse;endprocessP2beginrepeatP(S2);揀黑子V(S1);untilfalse;end}coend.
3、一個(gè)餐廳有4類職員:(1)領(lǐng)班:接受顧客點(diǎn)菜(2)廚師:準(zhǔn)備顧客的飯菜(3)打包工:將做好的飯菜打包(4)出納員:收款并提交食品。
分析:將這四類職員看成四類進(jìn)程P1,P2,P3,P4,然后四類進(jìn)程對兩個(gè)變量進(jìn)行操作,s1是點(diǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)民收購購銷合同范本
- 合伙包水電合同范本
- 醫(yī)院行政合同范本
- 勞務(wù)派遣職業(yè)中介合同范本
- 加盟違約合同范本
- 農(nóng)業(yè)項(xiàng)目工程合同范本
- 企業(yè)項(xiàng)目咨詢合同范本
- 允許他人簽字合同范本
- 保安公司疫情防控合同范本
- 出售柴油快艇合同范本
- 《基于二維激光SLAM的AGV導(dǎo)航系統(tǒng)設(shè)計(jì)》
- 藥劑學(xué)第9版課件:第一章-緒論
- 《下載-綜合布線》課件
- 電化學(xué)儲(chǔ)能系統(tǒng)測試操作方法
- (高清版)DB43∕T 1588.28-2019 小吃湘菜 第28部分:武岡空餅
- 第六單元 共同面對的全球性問題 知識清單
- 老年病科重點(diǎn)??平ㄔO(shè)
- 工程投標(biāo)文件范本完整版
- 小學(xué)二年級開學(xué)家長會(huì)課件2024-2025學(xué)年
- 語文跨學(xué)科合作:語文與數(shù)學(xué)的融合
- 小學(xué)德育校本課程教材-文本資料
評論
0/150
提交評論