




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、11、有3個(gè)并發(fā)進(jìn)程R、M、P,它們共享同一緩沖區(qū)。進(jìn)程R負(fù)責(zé)從輸入設(shè)備讀信息,每讀入一個(gè)記錄后,就把它放入緩沖區(qū)中;進(jìn)程M在緩沖區(qū)中加工讀入的記錄;進(jìn)程P把加工后的記錄打印輸出。讀入的記錄經(jīng)加工輸出后,緩沖區(qū)又可以存放下一個(gè)記錄。試寫出它們能夠正確執(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í)行,所以信號(hào)量c的初值應(yīng)設(shè)為“1”。此外,由制約關(guān)系圖可以看出,R、M和P不會(huì)競(jìng)爭(zhēng)緩沖區(qū)資源,故無(wú)需設(shè)置用于互斥的公用信號(hào)量。12、設(shè)有進(jìn)程A、B、C,分別調(diào)用過(guò)程get、copy和put對(duì)緩沖區(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的操作過(guò)程。getcopyput緩沖區(qū)S緩沖區(qū)T三過(guò)程工作示意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對(duì)進(jìn)程A來(lái)說(shuō)是消費(fèi)者,而對(duì)進(jìn)程C來(lái)說(shuō)是生產(chǎn)者,進(jìn)程B兼有消費(fèi)者和生產(chǎn)者的功能。此外,為了在初啟時(shí)能
4、保證三進(jìn)程按制約關(guān)系順利執(zhí)行,信號(hào)量empty1和empty2的初值均為“1”。13、用P、V操作實(shí)現(xiàn)下述問(wèn)題的解。桌上有一個(gè)盤子,可以存放一個(gè)水果。父親總是放蘋果到盤子中,而母親總是放香蕉到盤子中;一個(gè)兒子專等吃盤中的香蕉,而一個(gè)女兒專等吃盤中的蘋果。答:盤子是臨界資源,應(yīng)設(shè)置一互斥信號(hào)量mutex來(lái)實(shí)現(xiàn)放水果的互斥,其初值為1。此外,父親和女兒、母親和兒子之間存在同步關(guān)系,即分別設(shè)置信號(hào)量apple和banana來(lái)分別實(shí)現(xiàn)這種同步關(guān)系,其初值均為0。4個(gè)進(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、在一個(gè)盒子里,混裝了數(shù)量相等的圍棋黑子和白子。現(xiàn)在要用自動(dòng)分揀系統(tǒng)把白子和黑子分開。設(shè)系統(tǒng)有兩個(gè)進(jìn)程P1和P2,其中P1揀白子、P2揀黑子。規(guī)定每個(gè)進(jìn)程每次只揀
6、一子。當(dāng)一進(jìn)程正在揀子時(shí),不允許另一進(jìn)程去揀;當(dāng)一進(jìn)程揀了一子時(shí),必須讓另一進(jìn)程去揀。試寫出這兩個(gè)并發(fā)進(jìn)程能正確執(zhí)行的程序。答:可以設(shè)置兩個(gè)信號(hào)量S1和S2來(lái)協(xié)調(diào)進(jìn)程P1和P2之間的同步,此外,由于不存在進(jìn)程P1和進(jìn)程P2之間同時(shí)取子的競(jìng)爭(zhēng)問(wèn)題,因此不必設(shè)置互斥信號(hào)量。程序如下:BeginS1:=1;s2:=0;CobeginP1:beginRepeatP(S1);揀白子;V(s2)Until falseEnd;P2:beginRepeatP(S2);揀黑子;V(S1)Until false EndCoendEnd;15、有一個(gè)理發(fā)師,一把理發(fā)椅和n把供等候理發(fā)的顧客坐的椅子。如果沒有顧客,則
7、理發(fā)師便在理發(fā)椅子上睡覺;當(dāng)一個(gè)顧客到來(lái)時(shí),必須喚醒理發(fā)師進(jìn)行理發(fā);如果理發(fā)師正在理發(fā)時(shí)又有顧客來(lái)到,則如果有空椅子可坐,他就坐下來(lái)等,如果沒有空椅子,他就離開。為理發(fā)師和顧客各編一段程序描述他們的行為,要求不能帶有競(jìng)爭(zhēng)條件。答:本題可看作是n個(gè)生產(chǎn)者和一個(gè)消費(fèi)者問(wèn)題。顧客作為生產(chǎn)者,每到來(lái)一個(gè)就使計(jì)數(shù)器rc加1,以便讓理發(fā)師理發(fā)(消費(fèi))至最后一個(gè)顧客(產(chǎn)品)。并且,第一個(gè)到來(lái)的顧客應(yīng)負(fù)責(zé)喚醒理發(fā)師;如果不是第一個(gè)到達(dá)的顧客,則在有空椅子的情況下坐下等待,否則離開理發(fā)廳(該信息可由計(jì)數(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時(shí)在椅子上等待*/Else beginRc:=rc-1;/*是第n+1個(gè)顧客時(shí)則離開*/該顧客離開理發(fā)廳End;V(mutex) End;Barber:beginP(wakeup);/*沒有顧客時(shí)理發(fā)師睡覺(阻塞),直到第一個(gè)顧客來(lái)時(shí)喚醒*/Repeat理發(fā);P(mutex);Rc:=rc-1;If rc<>0 then V(wait)/*讓等待中的一個(gè)顧客準(zhǔn)備理發(fā)*/V(mutex)Until rc=0 EndCoendEnd;16、桌子上有一空盤,允許存放一只水果。爸爸可向盤中放蘋果,也可向盤中放桔子;兒子專等吃盤中的桔子,女兒專等吃盤中的蘋果。規(guī)定當(dāng)盤空時(shí)一次只能放一只水果供吃者取用,請(qǐng)用P、V原語(yǔ)實(shí)現(xiàn)爸爸、兒子、女兒3個(gè)并發(fā)進(jìn)程的同步。答:BeginPlate:=1;apple:=0;orange:=0;CobeginFather:beginRepeatP(plate);將水果放入盤中;If 放入的是桔子 then V(orange)Else V(apple)Until fal
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年工業(yè)涂料水性色漿資金籌措計(jì)劃書代可行性研究報(bào)告
- 落實(shí)請(qǐng)銷假制度管理辦法
- 虎丘區(qū)網(wǎng)絡(luò)營(yíng)銷管理辦法
- 融機(jī)構(gòu)貸款管理暫行辦法
- 行政許可停車位管理辦法
- 西安電子證管理暫行辦法
- 設(shè)計(jì)管理部資料管理辦法
- 證券投資者行為管理辦法
- 財(cái)務(wù)專家?guī)旃芾頃盒修k法
- 財(cái)政部規(guī)范委托管理辦法
- 醫(yī)保自糾自查整改報(bào)告
- 2023年八少八素圖形推理測(cè)試真題精選
- 國(guó)家講解員培訓(xùn)課件
- 淺析圖書發(fā)行企業(yè)在新形勢(shì)下的財(cái)務(wù)管理策略
- GB/T 6478-2015冷鐓和冷擠壓用鋼
- 2016眾泰t600運(yùn)動(dòng)版原廠維修手冊(cè)與電路圖-使用說(shuō)明
- 金屬纏繞墊(1002)要點(diǎn)課件
- 局限期小細(xì)胞肺癌放療進(jìn)展課件
- 教師情緒和壓力疏導(dǎo)課件
- ISO-IEC 27002-2022中文版完整詳細(xì)
- 醫(yī)療器械公司組織機(jī)構(gòu)與部門設(shè)置說(shuō)明
評(píng)論
0/150
提交評(píng)論