版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、11、有3個并發(fā)進(jìn)程R、M、P,它們共享同一緩沖區(qū)。進(jìn)程R負(fù)責(zé)從輸入設(shè)備讀信息,每讀入一個記錄后,就把它放入緩沖區(qū)中;進(jìn)程M在緩沖區(qū)中加工讀入的記錄;進(jìn)程P把加工后的記錄打印輸出。讀入的記錄經(jīng)加工輸出后,緩沖區(qū)又可以存放下一個記錄。試寫出它們能夠正確執(zhí)行的并發(fā)程序。答:BegincbaRRRa:=0;b:=0;c:=1;cobeginR:beginRepeatP(c);從輸入設(shè)備讀一記錄到緩沖區(qū);V(a);Until falseEnd;M:beginRepeatP(a);在緩沖區(qū)中加工讀入的記錄;V(b);Until falseEnd;P:BeginRepeatP(b);打印加工后的記錄;V(
2、c);Until falseEndCoendEnd;注:為了保證R首先執(zhí)行,所以信號量c的初值應(yīng)設(shè)為“1”。此外,由制約關(guān)系圖可以看出,R、M和P不會競爭緩沖區(qū)資源,故無需設(shè)置用于互斥的公用信號量。12、設(shè)有進(jìn)程A、B、C,分別調(diào)用過程get、copy和put對緩沖區(qū)S和T進(jìn)行操作。其中g(shù)et負(fù)責(zé)把數(shù)據(jù)塊輸入緩沖區(qū)S,copy負(fù)責(zé)從緩沖區(qū)S中提取數(shù)據(jù)塊復(fù)制到緩沖區(qū)T中,put負(fù)責(zé)從緩沖區(qū)T中取信息打印,如圖所示。試描述get、copy及put的操作過程。getcopyput緩沖區(qū)S緩沖區(qū)T三過程工作示意BeginEmpty1:=1;empty2:=1;Full2Full1ABCEmpty1Em
3、pty2Full1:=0;full2:=0;CobeginA:begin RepeatP(empty1);將數(shù)據(jù)塊輸入緩沖區(qū)S;V(full1); Until falseEnd;B:begin RepeatP(full1);從緩沖區(qū)S中提取數(shù)據(jù);V(empty1);P(empty2);將數(shù)據(jù)復(fù)制到緩沖區(qū)T;V(full2) Until falseEnd;C:begin RepeatP(full2);從緩沖區(qū)T中取信息打印;V(empty2) Until falseEndcoendEnd;注:進(jìn)程B對進(jìn)程A來說是消費者,而對進(jìn)程C來說是生產(chǎn)者,進(jìn)程B兼有消費者和生產(chǎn)者的功能。此外,為了在初啟時能
4、保證三進(jìn)程按制約關(guān)系順利執(zhí)行,信號量empty1和empty2的初值均為“1”。13、用P、V操作實現(xiàn)下述問題的解。桌上有一個盤子,可以存放一個水果。父親總是放蘋果到盤子中,而母親總是放香蕉到盤子中;一個兒子專等吃盤中的香蕉,而一個女兒專等吃盤中的蘋果。答:盤子是臨界資源,應(yīng)設(shè)置一互斥信號量mutex來實現(xiàn)放水果的互斥,其初值為1。此外,父親和女兒、母親和兒子之間存在同步關(guān)系,即分別設(shè)置信號量apple和banana來分別實現(xiàn)這種同步關(guān)系,其初值均為0。4個進(jìn)程的并發(fā)程序如下:BeginMutex:=1;Apple:=0;banana:=0;CobeginFather:beginRepeatP
5、(mutext);向盤中放蘋果;V(apple)Until falseEnd;Mother:beginRepeatP(mutext);向盤中放香蕉;V(banana)Until falseEnd;Daughter:beginRepeatP(apple)取盤中蘋果;V(mutex)Until falseEnd;Son:beginRepeatP(banana);取盤中香蕉;V(mutex)Until falseEndCoendEnd;14、在一個盒子里,混裝了數(shù)量相等的圍棋黑子和白子?,F(xiàn)在要用自動分揀系統(tǒng)把白子和黑子分開。設(shè)系統(tǒng)有兩個進(jìn)程P1和P2,其中P1揀白子、P2揀黑子。規(guī)定每個進(jìn)程每次只揀
6、一子。當(dāng)一進(jìn)程正在揀子時,不允許另一進(jìn)程去揀;當(dāng)一進(jìn)程揀了一子時,必須讓另一進(jìn)程去揀。試寫出這兩個并發(fā)進(jìn)程能正確執(zhí)行的程序。答:可以設(shè)置兩個信號量S1和S2來協(xié)調(diào)進(jìn)程P1和P2之間的同步,此外,由于不存在進(jìn)程P1和進(jìn)程P2之間同時取子的競爭問題,因此不必設(shè)置互斥信號量。程序如下:BeginS1:=1;s2:=0;CobeginP1:beginRepeatP(S1);揀白子;V(s2)Until falseEnd;P2:beginRepeatP(S2);揀黑子;V(S1)Until false EndCoendEnd;15、有一個理發(fā)師,一把理發(fā)椅和n把供等候理發(fā)的顧客坐的椅子。如果沒有顧客,則
7、理發(fā)師便在理發(fā)椅子上睡覺;當(dāng)一個顧客到來時,必須喚醒理發(fā)師進(jìn)行理發(fā);如果理發(fā)師正在理發(fā)時又有顧客來到,則如果有空椅子可坐,他就坐下來等,如果沒有空椅子,他就離開。為理發(fā)師和顧客各編一段程序描述他們的行為,要求不能帶有競爭條件。答:本題可看作是n個生產(chǎn)者和一個消費者問題。顧客作為生產(chǎn)者,每到來一個就使計數(shù)器rc加1,以便讓理發(fā)師理發(fā)(消費)至最后一個顧客(產(chǎn)品)。并且,第一個到來的顧客應(yīng)負(fù)責(zé)喚醒理發(fā)師;如果不是第一個到達(dá)的顧客,則在有空椅子的情況下坐下等待,否則離開理發(fā)廳(該信息可由計數(shù)器rc獲得)。理發(fā)師與顧客的并發(fā)程序描述如下:BeginMutex:=1;Wakeup:=0;wait:=0;
8、CobeginCustomer i(i=1,): BeginP(mutext);Rc:=rc+1;If rc=1 then V(wakeup)ElseIf rc<=n then P(wait)/*顧客人數(shù)<=n時在椅子上等待*/Else beginRc:=rc-1;/*是第n+1個顧客時則離開*/該顧客離開理發(fā)廳End;V(mutex) End;Barber:beginP(wakeup);/*沒有顧客時理發(fā)師睡覺(阻塞),直到第一個顧客來時喚醒*/Repeat理發(fā);P(mutex);Rc:=rc-1;If rc<>0 then V(wait)/*讓等待中的一個顧客準(zhǔn)備理發(fā)*/V(mutex)Until rc=0 EndCoendEnd;16、桌子上有一空盤,允許存放一只水果。爸爸可向盤中放蘋果,也可向盤中放桔子;兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時一次只能放一只水果供吃者取用,請用P、V原語實現(xiàn)爸爸、兒子、女兒3個并發(fā)進(jìn)程的同步。答:BeginPlate:=1;apple:=0;orange:=0;CobeginFather:beginRepeatP(plate);將水果放入盤中;If 放入的是桔子 then V(orange)Else V(apple)Until fal
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨運(yùn)司機(jī)勞動合同(3篇)
- 污水管道施工合同
- 食品藥品工作會議紀(jì)要模板(3篇)
- 低碳生活從我做起演講稿
- 醫(yī)學(xué)生調(diào)研報告6篇
- L-363851-生命科學(xué)試劑-MCE
- 熱力開槽回填施工方案
- 混凝土擋土墻施工方案
- 教案作業(yè)展評方案
- XX小學(xué)防恐應(yīng)急預(yù)案
- 南京文化創(chuàng)意和設(shè)計服務(wù)與相關(guān)產(chǎn)業(yè)融合發(fā)展報告
- 社區(qū)工作者考試考前必背300題
- 2023年陜煤集團(tuán)招聘筆試題庫及答案解析
- 清華大學(xué)2023年11月(高三)中學(xué)生標(biāo)準(zhǔn)學(xué)術(shù)能力診斷測試?yán)砭C生物試題
- 凸透鏡成像規(guī)律動畫可拖動最佳版swf
- 教育培訓(xùn)記錄表(液化氣站)
- 外科學(xué)-第六十二章-脊柱、脊髓損傷課件
- 電力基礎(chǔ)知識匯總課件
- 大象版小學(xué)科學(xué)二年級上冊實驗報告單全冊
- 2020-2022學(xué)年部編版八年級語文古詩詞專項練習(xí)卷 部編人教版八年級上冊
- 手術(shù)室護(hù)士崗位說明書版
評論
0/150
提交評論