計(jì)算機(jī)操作系統(tǒng)PV操作例題_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)PV操作例題_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)PV操作例題_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)PV操作例題_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)PV操作例題_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)操作系統(tǒng)PV操作例題計(jì)算機(jī)操作系統(tǒng)PV操作例題計(jì)算機(jī)操作系統(tǒng)PV操作例題xxx公司計(jì)算機(jī)操作系統(tǒng)PV操作例題文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度問(wèn)題1一個(gè)司機(jī)與售票員的例子在公共汽車(chē)上,為保證乘客的安全,司機(jī)和售票員應(yīng)協(xié)調(diào)工作:停車(chē)后才能開(kāi)門(mén),關(guān)車(chē)門(mén)后才能行車(chē)。用PV操作來(lái)實(shí)現(xiàn)他們之間的協(xié)調(diào)。S1:是否允許司機(jī)啟動(dòng)汽車(chē)的變量S2:是否允許售票員開(kāi)門(mén)的變量driver()有三個(gè)進(jìn)程R、M、P,它們共享一個(gè)緩沖區(qū)。R負(fù)責(zé)從輸入設(shè)備讀信息,每次讀出一個(gè)記錄并把它存放在緩沖區(qū)中:M在緩沖區(qū)加工讀入的記錄;P把加工后的記錄打印輸出。輸入的記錄經(jīng)加工輸出后,緩沖區(qū)中又可存放下一個(gè)記錄。請(qǐng)用P、V操作為同步機(jī)構(gòu)寫(xiě)出他們并發(fā)執(zhí)行時(shí)能正確工作的程序。答:三個(gè)進(jìn)程共用一個(gè)緩沖區(qū),他們必須同步工作,可定義三個(gè)信號(hào)量:S1:表示是否可把讀人的記錄放到緩沖區(qū),初始值為1.S2:表示是否可對(duì)緩沖區(qū)中的記錄加工,初始值為0.S3:表示記錄是否加工好,可以輸出,初始值也為0.三個(gè)進(jìn)程可如下設(shè)計(jì):BeginS1,S2,S3:semaphore;S1:=l;S2:=S3:=0;cobeginprocessRbeginL1:讀記錄;P(S1);記錄存入緩沖區(qū);V(S2);gotoL1;end;processMbeginL2:P(S2);加工記錄;V(S3);gotoL2;end;processPbeginL3:P(S3);輸出加工后的記錄;V(S1);gotoL3;end;coend;end.

6.現(xiàn)有4個(gè)進(jìn)程R1,R2,W1,W2,它們共享可以存放一個(gè)數(shù)的緩沖器B.進(jìn)程R1每次把從鍵盤(pán)上投入的一個(gè)數(shù)存放到緩沖器B中,供進(jìn)程W1打印輸出;進(jìn)程R2每次從磁盤(pán)上讀一個(gè)數(shù)放到緩沖器B中,供進(jìn)程W2打印輸出。當(dāng)一個(gè)進(jìn)程把數(shù)據(jù)存放到緩沖器后,在該數(shù)還沒(méi)有被打印輸出之前不準(zhǔn)任何進(jìn)程再向緩沖器中存數(shù)。在緩沖器中還沒(méi)有存入一個(gè)新的數(shù)之前不允許任何進(jìn)程加快從緩沖區(qū)中取出打印是怎樣才能使這四個(gè)進(jìn)程在并發(fā)執(zhí)行是協(xié)調(diào)的工作答:這四個(gè)進(jìn)程實(shí)際上是兩個(gè)生產(chǎn)者R1,R2和兩個(gè)消費(fèi)者W1,W2.各自生成不同的產(chǎn)品中各自的消費(fèi)對(duì)象去消費(fèi),他們共享一個(gè)的緩沖器。由于緩沖器只能存放一個(gè)數(shù),所以,R1和R2在存放數(shù)時(shí)必須互斥。而R1和W1、R2和W2之間存在同步。為了協(xié)調(diào)它們的工作可定義三個(gè)信號(hào)量:S:表示能否把數(shù)存人緩沖器B,初始值為1.S1:表示R1是否已向緩沖器存入從鍵盤(pán)上讀入的一個(gè)數(shù),初始值為0.S2:表示R2是否已向緩沖器存入從磁盤(pán)上讀入的一個(gè)數(shù),初始值為0.BeginS,S1,S2:semaphore;S:=1;S1:=S2:=0;CobeginprocessR1xl:integerbeginL1:從鍵盤(pán)讀一個(gè)數(shù);x1:=讀入的數(shù);P(S);P(S);B:=xlV(S1);gotoL1;end;processR2x2:integer;beginL2:從磁盤(pán)讀一數(shù);x2:=讀入的數(shù);x2:=讀入的數(shù);P(S);B:=x2;V(S2);gotoL2;end;processW1y:integer;beginL3:P(S1);y:=B;V(S);打印y中的數(shù);gotoL3;end;

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論