進(jìn)程狀態(tài)與控制_第1頁
進(jìn)程狀態(tài)與控制_第2頁
進(jìn)程狀態(tài)與控制_第3頁
進(jìn)程狀態(tài)與控制_第4頁
進(jìn)程狀態(tài)與控制_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

進(jìn)程狀態(tài)與管理制作人:顏遠(yuǎn)海進(jìn)程狀態(tài)實(shí)例計(jì)算機(jī)的進(jìn)程狀態(tài)轉(zhuǎn)換圖如下圖所示,請(qǐng)說明:(1)引起各種狀態(tài)轉(zhuǎn)換的典型事件哪些?(2)在觀察系統(tǒng)中的某些時(shí),能夠看到某一進(jìn)程產(chǎn)生的一次狀態(tài)轉(zhuǎn)換相應(yīng)地引起另一進(jìn)程做一次狀態(tài)轉(zhuǎn)換。在什么情況下,當(dāng)一個(gè)進(jìn)程發(fā)生轉(zhuǎn)換C時(shí)能立即引起另一個(gè)進(jìn)程發(fā)生轉(zhuǎn)換A?(3)試說明是否會(huì)發(fā)生下述因果轉(zhuǎn)換:B->A:C->B:D->A執(zhí)行阻塞就緒ABDC解析:本題首先要透徹理解的狀態(tài)轉(zhuǎn)換和狀態(tài)轉(zhuǎn)換條件,其次是理解因果轉(zhuǎn)換。所謂因果轉(zhuǎn)換,指的是有兩個(gè)轉(zhuǎn)換,一個(gè)轉(zhuǎn)換的發(fā)生會(huì)引起另一個(gè)轉(zhuǎn)換的發(fā)生,前一個(gè)轉(zhuǎn)換稱為因,后一個(gè)轉(zhuǎn)換稱為果,這兩個(gè)轉(zhuǎn)換稱為因果轉(zhuǎn)換。根據(jù)以上分析,解答過程如下:(1)在本題所給的進(jìn)程狀態(tài)轉(zhuǎn)換圖中,進(jìn)程在三種狀態(tài)之間進(jìn)行了4種狀態(tài)轉(zhuǎn)換。①當(dāng)進(jìn)程高度程序從就緒隊(duì)列中選取一個(gè)進(jìn)程投入運(yùn)行時(shí)引起轉(zhuǎn)換A②正在執(zhí)行的進(jìn)程如因時(shí)間片用完而被暫停執(zhí)行就會(huì)引起轉(zhuǎn)換B:③正在執(zhí)行的進(jìn)程因等待的事件尚未發(fā)生而無法執(zhí)行(如進(jìn)程請(qǐng)求完成I/O)則會(huì)引起轉(zhuǎn)換C④當(dāng)進(jìn)程等待的事件發(fā)生時(shí)(如I/O完成)則會(huì)引起轉(zhuǎn)換D。(2)如果就緒隊(duì)列非空,則一個(gè)進(jìn)程的發(fā)生轉(zhuǎn)換C會(huì)立即引起另一個(gè)進(jìn)程的發(fā)生轉(zhuǎn)換A。這是因?yàn)橐粋€(gè)進(jìn)程發(fā)生轉(zhuǎn)換C意味著正在執(zhí)行的進(jìn)程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),這時(shí)處理機(jī)空閑,進(jìn)程高度程序必然會(huì)從就緒隊(duì)列中選取一個(gè)進(jìn)程并將它投入運(yùn)行,因此只要就緒隊(duì)列非空,一個(gè)進(jìn)程的發(fā)生轉(zhuǎn)換C能立即引起另一個(gè)進(jìn)程的發(fā)生轉(zhuǎn)換A。(3)因果關(guān)系并不是什么時(shí)候都能發(fā)生,而是在一定條件下才可能發(fā)生。①B-A:當(dāng)某進(jìn)程發(fā)生轉(zhuǎn)換B時(shí),就必然引起另一進(jìn)程的轉(zhuǎn)換A。因?yàn)楫?dāng)發(fā)生轉(zhuǎn)換B時(shí),正在執(zhí)行的進(jìn)程從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài),進(jìn)程調(diào)度程序必然會(huì)從就緒隊(duì)列中選取一個(gè)進(jìn)程投入運(yùn)行,即發(fā)生轉(zhuǎn)換A。②:C->B:

某個(gè)進(jìn)程的轉(zhuǎn)換C決不可能引起另一進(jìn)程發(fā)生轉(zhuǎn)換B。這是因?yàn)楫?dāng)前執(zhí)行進(jìn)程從執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),不可能又從執(zhí)行狀態(tài)變?yōu)榫途w狀態(tài)。③:D->A:當(dāng)處理機(jī)空閑且就緒隊(duì)列為空時(shí),某一進(jìn)程發(fā)生轉(zhuǎn)換D就會(huì)引起該進(jìn)程的轉(zhuǎn)換A。因?yàn)榇藭r(shí)處理機(jī)空閑,一旦某個(gè)進(jìn)程發(fā)生轉(zhuǎn)換D,就意味著有一個(gè)進(jìn)程從阻塞狀態(tài)變?yōu)榫途w狀態(tài),因而調(diào)度程序就會(huì)將就緒隊(duì)列中年級(jí)進(jìn)程投入運(yùn)行。

進(jìn)程互斥舉例(1)例2,上述的“飛機(jī)訂票系統(tǒng)”。一個(gè)飛機(jī)訂票系統(tǒng)可以有多個(gè)訂票處的n個(gè)訂票終端?,F(xiàn)假設(shè)n=2,公共數(shù)據(jù)區(qū)為Hi(i=1,2,…,m),分別存放各次班機(jī)的現(xiàn)存票數(shù),Pi(i=1,2,…,n)表示售票終端的進(jìn)程。進(jìn)程互斥舉例(2)semaphoreS;S=1;//公用信號(hào)量cobegin{processPi(i=1,2,…,n){inttemp;按照定票要求找到單元Hi;

P(S);temp=Hi;iftemp≥1{temp=temp-1;

Hi=temp;

V(S);

輸出一張票}else{V(S);輸出提示“票已售完”;}coned經(jīng)典進(jìn)程同步問題

1、生產(chǎn)者—消費(fèi)者問題問題描述:一群生產(chǎn)者向一個(gè)有界緩沖區(qū)放入產(chǎn)品,只要緩沖區(qū)未滿就可以存放,又有一群消費(fèi)者從有界緩沖區(qū)取走產(chǎn)品,只要緩沖區(qū)未空就可以取走。要求:存存、取取、存取都不能同時(shí)進(jìn)行,緩沖區(qū)滿時(shí)停存,緩沖區(qū)空時(shí)停取,生產(chǎn)與消費(fèi)等放。解決方法設(shè)三個(gè)信號(hào)量1、信號(hào)量S,初值為1,表示沒有產(chǎn)品進(jìn)入臨界區(qū),用于互斥;2、信號(hào)量Sn,表示可用緩沖區(qū)個(gè)數(shù),初值為n3、信號(hào)量S0,表示產(chǎn)品個(gè)數(shù),初值為0生產(chǎn)者:消費(fèi)者:生產(chǎn)一個(gè)產(chǎn)品P(Sn)P(S)產(chǎn)品放入緩沖區(qū)V(S0)V(S)消費(fèi)一個(gè)產(chǎn)品P(S0)P(S)產(chǎn)品取出緩沖區(qū)V(Sn)V(S)2、讀者—寫者問題問題描述:(1)一個(gè)數(shù)據(jù)對(duì)象被多個(gè)讀者、寫者進(jìn)程共享;(2)允許多個(gè)讀者進(jìn)程可以共享這個(gè)數(shù)據(jù)對(duì)象,因?yàn)樽x操作不會(huì)使數(shù)據(jù)文件混亂;(3)寫者與寫者、寫者與讀者必須互斥使用數(shù)據(jù)對(duì)象;解決方法:(1)設(shè)ReadCount是整型變量,初值為0,最大值是RN,表示讀者個(gè)數(shù);(2)設(shè)信號(hào)量r,初值為1,表示讀者互斥使用ReadCount;(3)設(shè)信號(hào)量w,初值為1,寫者與寫者互斥,寫者與第一讀者互斥讀者:P(r)ReadCount=1?P(w)ReadCount=Re

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論