



全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、桌上有一只盤子,最多可容納兩個(gè)水果,每次只能放入或取出一個(gè)水果。爸爸專向盤中放蘋果,媽媽放專向盤中放桔子;兩個(gè)兒子專等吃盤子中的桔子,兩個(gè)女兒專等吃盤子中的蘋果。請(qǐng)用P、V操作來(lái)實(shí)現(xiàn)爸爸、媽媽、兒子、女兒之間的同步與互斥關(guān)系。答:本題中需設(shè)置4個(gè)信號(hào)量,其中empty表示還可以向盤中放幾個(gè)水果,其初值為2;apple對(duì)應(yīng)已放入盤中的蘋果,orange對(duì)應(yīng)已放入盤中的桔子,它們的初值均為0;mutex用來(lái)實(shí)現(xiàn)對(duì)盤子的互斥訪問(wèn)(包括放和?。?,其初值為1。相應(yīng)的進(jìn)程可描述為:father()while(1) P(empty); P(mutex); 向盤中放蘋果; V(mutex); V(apple);mother()while(1) P(empty); P(mutex); 向盤中放桔子; V(mutex); V(orange);son () /* 兩個(gè)兒子對(duì)應(yīng)同一段代碼 */while(1) P(orange); P(mutex); 從盤中取桔子; V(mutex); V(empty); 吃桔子;daughter() /* 兩個(gè)女兒對(duì)應(yīng)同一段代碼 */while(1) P(apple); P(mutex); 從盤中取蘋果; V(mutex); V(empty); 吃蘋果;2、某招待所有100個(gè)床位,住宿者住入要先登記(在登記表上填寫姓名及床位號(hào)),離去時(shí)要撤消登記(在登記表上刪去姓名和床位號(hào))。請(qǐng)給出住宿登記及撤消登記過(guò)程的算法描述。答:本題中,被住宿者競(jìng)爭(zhēng)的資源主要有床位和住宿登記表兩種,可分別為它們?cè)O(shè)置初值為100的信號(hào)量bed及初值為1的信號(hào)量mutex。住宿登記過(guò)程的算法描述如下:P(bed);P(mutex);在登記表上填寫姓名及床位號(hào);v(mutex);撤消登記過(guò)程的算法描述如下:P(mutex);在登記表上刪去姓名和床位號(hào);V(mutex);V(bed);3、一閱覽室,讀者進(jìn)入閱覽室必須先在一張登記表(TB)上登記,該表為每一座位設(shè)一個(gè)表目,讀者離開時(shí)要消掉其登記信息,閱覽室共有100個(gè)座位。為了描述讀者的動(dòng)作,請(qǐng)用Pascal語(yǔ)言和P、V操作寫出進(jìn)程間的同步算法。約定:(1)flag的值:0座位空閑,1座位被占用。(2)用語(yǔ)句i=getflag(0)可搜索到一個(gè)空座位i,用語(yǔ)句i.falg=0或1可給標(biāo)志位賦值。(3)用i=getname(readername)可搜索到某讀者所登記的座位號(hào)i;用=0或=readername可給姓名字段賦值,0表示消除讀者姓名。(4)計(jì)數(shù)信號(hào)量用count,互斥信號(hào)量用mutex。 答:本題中,讀者要競(jìng)爭(zhēng)座位、登記表兩種資源,故可分別為它們?cè)O(shè)置初值為100的信號(hào)量count,以及初值為1的信號(hào)量mutex。讀者的動(dòng)作可描述為:reader() while(1)P(count); /* 申請(qǐng)一個(gè)座位 */P(mutex); /* 申請(qǐng)登記表 */i=getflag(0); /* 在登記表上搜索一個(gè)空座位 */i.flag=1; /* 登記該座位已被占用 */=readername; /* 登記讀者姓名 */V(mutex); /* 釋放登記表 */進(jìn)入閱覽室,坐下并開始閱覽;P(mutex); /* 申請(qǐng)登記表 */i=getname(readername); /* 在登記表上搜索讀者登記的座位號(hào) */i.falg=0; /* 撤消登記信息 */=0;P(mutex); /* 釋放登記表 */V(count); /* 釋放座位 */離開閱覽室;4、某寺廟,有小和尚、老和尚若干。有一水缸,有小和尚提水入缸供老和尚飲用。水缸可容10桶水,水取自同一井中。水井徑窄,每次只能容一個(gè)桶取水。水桶總數(shù)為3個(gè)。每次入、取缸水僅為1桶,且不可同時(shí)進(jìn)行。試給出有關(guān)取水、入水的算法描述。 答:本題中需設(shè)置5個(gè)信號(hào)量:bucket對(duì)應(yīng)臨界資源水桶,初值為3;jar用來(lái)對(duì)水缸進(jìn)行互斥操作,初值為1;full表示水缸中可以使用的水,初值為0;empty表示缸中還可入水的容量,初值為10;well用來(lái)保證互斥地使用水井,初值為1。有關(guān)取水、入水的算法描述如下:semaphore bucket=3,jar=1,full=0,empty=10,well=1;little_monk() /* 小和尚入水算法 */while(1)P(empty);P(bucket);P(well);從水井中打水;V(well);P(jar); 倒水入缸;V(jar);V(full);V(bucket);old_monk() /*老和尚取水算法 */while(1)P(full);P(bucket);P(jar); 從缸中取水;V(jar);V(empty); 從桶中倒水飲用;V(bucket); 5. 如圖所示,三個(gè)合作進(jìn)程P1、P2、P3,它們都需通過(guò)同一輸入設(shè)備輸入各自的數(shù)據(jù)a、b、c,該輸入設(shè)備必須互斥地使用,而且其第一個(gè)數(shù)據(jù)必須由P1進(jìn)程讀取,第二個(gè)數(shù)據(jù)必須由P2進(jìn)程讀取,第三個(gè)數(shù)據(jù)則必須由P3進(jìn)程讀取。然后,三個(gè)進(jìn)程分別對(duì)輸入數(shù)據(jù)進(jìn)行下列計(jì)算:P1: x = a + bP2: y = a * bP3: z = y + c a最后,P1進(jìn)程通過(guò)所連的打印機(jī)將計(jì)算結(jié)果x、y、z的值打印出來(lái)。請(qǐng)用信號(hào)量實(shí)現(xiàn)它們的同步。P1P2P3Non-preemptive input deviceInput(a)Input(c)Input(b)圖 P1、P2、P3的工作示意圖答:為了控制三個(gè)進(jìn)程依次使用輸入設(shè)備進(jìn)行輸入,需分別設(shè)置三個(gè)信號(hào)量S1、S2、S3,其中S1的初值為1,S2和S3的初值為0。使用上述信號(hào)量后,三個(gè)進(jìn)程不會(huì)同時(shí)使用輸入設(shè)備,故不必再為輸入設(shè)備設(shè)置互斥信號(hào)量。另外,還需設(shè)置信號(hào)量Sb、Sy、Sz來(lái)分別表示數(shù)據(jù)b是否已經(jīng)輸入,以及y、z是否已計(jì)算完成,它們的初值均為0。三個(gè)進(jìn)程的動(dòng)作可描述為:P1:P(S1);從輸入設(shè)備輸入數(shù)據(jù)a;V(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東中職考試題庫(kù)及答案
- 右三踝骨折護(hù)理查房
- 自發(fā)性氣胸的護(hù)理措施
- 4S店車間生產(chǎn)安全培訓(xùn)
- 銀行員工之聲培訓(xùn)課件
- 腫瘤護(hù)理發(fā)展趨勢(shì)
- 養(yǎng)老機(jī)構(gòu)安全培訓(xùn)
- 中班語(yǔ)言彩色奶牛課件
- 圖形認(rèn)知培訓(xùn)課件
- 鉆孔灌注樁培訓(xùn)課件
- 2025年全國(guó)統(tǒng)一高考數(shù)學(xué)試卷(全國(guó)一卷)含答案
- DL∕T 5776-2018 水平定向鉆敷設(shè)電力管線技術(shù)規(guī)定
- (高清版)DZT 0432-2023 煤炭與煤層氣礦產(chǎn)綜合勘查規(guī)范
- 高血糖高滲狀態(tài)課件
- 一年級(jí)10以內(nèi)加減混合計(jì)算題比大小
- 閑置資源統(tǒng)計(jì)表
- 畫冊(cè)設(shè)計(jì)制作報(bào)價(jià)單
- DBJ∕T13-354-2021 既有房屋結(jié)構(gòu)安全隱患排查技術(shù)標(biāo)準(zhǔn)
- 某市印染紡織公司清潔生產(chǎn)審核報(bào)告全文
- 維修電工高級(jí)技師論文(6篇推薦范文)
- 人民幣教具正反面完美打印版
評(píng)論
0/150
提交評(píng)論