chap5 并發(fā)進(jìn)程及死鎖問(wèn)題_第1頁(yè)
chap5 并發(fā)進(jìn)程及死鎖問(wèn)題_第2頁(yè)
chap5 并發(fā)進(jìn)程及死鎖問(wèn)題_第3頁(yè)
chap5 并發(fā)進(jìn)程及死鎖問(wèn)題_第4頁(yè)
chap5 并發(fā)進(jìn)程及死鎖問(wèn)題_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

1、3.3 死鎖死鎖:指多個(gè)進(jìn)程在運(yùn)行的時(shí)候因?yàn)楦?jìng)爭(zhēng)資源而陷入的一種僵局,陷入這種僵局的進(jìn)程,若無(wú)外力的作用將無(wú)法再向前推進(jìn)。產(chǎn)生死鎖的原因:1、進(jìn)程對(duì)資源的競(jìng)爭(zhēng) 當(dāng)若干進(jìn)程需求資源的總數(shù)大于系統(tǒng)能提供的資源數(shù)時(shí),進(jìn)程間就會(huì)出現(xiàn)競(jìng)爭(zhēng)資源的現(xiàn)象,若管理不當(dāng)就可能引起死鎖。2、資源分配策略 如果按某種資源分配策略分配資源時(shí)使得某些進(jìn)程各自占用了部分資源后又都在等待其他進(jìn)程所占的資源,且互不相讓?zhuān)瑒t出會(huì)引起死鎖。3、并發(fā)進(jìn)程執(zhí)行速度 并發(fā)進(jìn)程執(zhí)行的速度不能由進(jìn)程自己來(lái)控制,如果協(xié)調(diào)不好的話也會(huì)出現(xiàn)循環(huán)等待資源的情況。 例:系統(tǒng)有打印機(jī)、讀卡機(jī)各一臺(tái),被進(jìn)程P、Q共享。兩個(gè)進(jìn)程并發(fā)執(zhí)行,按以下順序請(qǐng)求和釋

2、放資源:進(jìn)程PA1:請(qǐng)求讀卡機(jī) A2:請(qǐng)求打印機(jī) A3:釋放讀卡機(jī) A4:釋放打印機(jī)進(jìn)程QB1:請(qǐng)求打印機(jī) B2:請(qǐng)求讀卡機(jī) B3:釋放讀卡機(jī) B4:釋放打印機(jī)A1、A2、A3、A4、B1、B2、B3、B4B1、B2、B3、B4、A1、A2、A3、A4A1、A2、B1、B2、A3、A4、B3、B4A1、B1、A2、B2、A3、B3、A4、B4 分析上面四種執(zhí)行順序哪個(gè)可能會(huì)產(chǎn)生死鎖分析上面四種執(zhí)行順序哪個(gè)可能會(huì)產(chǎn)生死鎖產(chǎn)生死鎖的必要條件n 從以上分析可見(jiàn),如果在計(jì)算機(jī)系統(tǒng)中同時(shí)具備同時(shí)具備下面四個(gè)必要條件時(shí),那麼會(huì)發(fā)生死鎖。換句話說(shuō),只要下面四個(gè)條件有一個(gè)不具備,系統(tǒng)就不會(huì)出現(xiàn)死鎖。n 1互斥

3、條件?;コ鈼l件。即某個(gè)資源在一段時(shí)間內(nèi)只能由一個(gè)進(jìn)程占有,不能同時(shí)被兩個(gè)或兩個(gè)以上的進(jìn)程占有。這種獨(dú)占資源如CD-ROM驅(qū)動(dòng)器,打印機(jī)等等,必須在占有該資源的進(jìn)程主動(dòng)釋放它之后,其它進(jìn)程才能占有該資源。這是由資源本身的屬性所決定的。如獨(dú)木橋就是一種獨(dú)占資源,兩方的人不能同時(shí)過(guò)橋。n 2不可搶占條件。不可搶占條件。進(jìn)程所獲得的資源在未使用完畢之前,資源申請(qǐng)者不能強(qiáng)行地從資源占有者手中奪取資源,而只能由該資源的占有者進(jìn)程自行釋放。如過(guò)獨(dú)木橋的人不能強(qiáng)迫對(duì)方后退,也不能非法地將對(duì)方推下橋,必須是橋上的人自己過(guò)橋后空出橋面(即主動(dòng)釋放占有資源),對(duì)方的人才能過(guò)橋。n 3占有且申請(qǐng)條件。占有且申請(qǐng)條件。

4、進(jìn)程至少已經(jīng)占有一個(gè)資源,但又申請(qǐng)新的資源;由于該資源已被另外進(jìn)程占有,此時(shí)該進(jìn)程阻塞;但是,它在等待新資源之時(shí),仍繼續(xù)占用已占有的資源。還以過(guò)獨(dú)木橋?yàn)槔滓覂扇嗽跇蛏舷嘤?。甲走過(guò)一段橋面(即占有了一些資源),還需要走其余的橋面(申請(qǐng)新的資源),但那部分橋面被乙占有(乙走過(guò)一段橋面)。甲過(guò)不去,前進(jìn)不能,又不后退;乙也處于同樣的狀況。n 4循環(huán)等待條件。循環(huán)等待條件。存在一個(gè)進(jìn)程等待序列P1,P2,.,Pn,其中P1等待P2所占有的某一資源,P2等待P3所占有的某一源,.,而Pn等待P1所占有的的某一資源,形成一個(gè)進(jìn)程循環(huán)等待環(huán)。就像前面的過(guò)獨(dú)木橋問(wèn)題,甲等待乙占有的橋面,而乙又等待甲占有的

5、橋面,從而彼此循環(huán)等待。n 上面我們提到的這四個(gè)條件在死鎖時(shí)會(huì)同時(shí)發(fā)生。也就是說(shuō),只要有一個(gè)必要條件不滿足,則死鎖就可以排除。解決死鎖的對(duì)策1、設(shè)計(jì)無(wú)死鎖的系統(tǒng)兩種途徑:預(yù)防死鎖、避免死鎖2、允許系統(tǒng)出現(xiàn)死鎖然后設(shè)法排除它加死鎖檢測(cè)手段-一旦發(fā)現(xiàn)死鎖能夠進(jìn)行排除的死鎖解除手段1、靜態(tài)分配資源策略 每個(gè)進(jìn)程在開(kāi)始執(zhí)行前就申請(qǐng)它所需要的全部資源,僅當(dāng)系統(tǒng)能滿足進(jìn)程的資源申請(qǐng)要求且把資源分配給進(jìn)程后,該進(jìn)程才能開(kāi)始執(zhí)行。(打破了(3)占有并申請(qǐng)) 特點(diǎn):簡(jiǎn)單安全,資源利用率低2、按序分配資源策略 把系統(tǒng)中所有資源排一個(gè)順序,對(duì)第一個(gè)資源給一個(gè)確定的編號(hào),規(guī)定任何一個(gè)進(jìn)程申請(qǐng)兩個(gè)以上資源時(shí)總是先申請(qǐng)編

6、號(hào)小的資源,后申請(qǐng)編號(hào)大的資源。(打中4循環(huán)等待條件)循環(huán)等待條件) 特點(diǎn):可以提高資源利用率,但資源的使用與實(shí)際使用順序不一致,給用戶編制程序帶來(lái)麻煩。3、搶奪式分配資源策略 僅當(dāng)一個(gè)進(jìn)程已經(jīng)占有了某些資源又要申請(qǐng)新資源,而系統(tǒng)這時(shí)又不能滿足其他資源的要求(已被其他進(jìn)程占用)必須等待時(shí),系統(tǒng)才可以搶奪該進(jìn)程已占有的資源。(適用于CPU、內(nèi)存,不能完全防止死鎖)1、系統(tǒng)的安全與不安全狀態(tài) 系統(tǒng)能按某種進(jìn)程順序(P1, P2, ,Pn)(稱(chēng)P1, P2, , Pn序列為安全序列),來(lái)為每個(gè)進(jìn)程Pi分配其所需資源,直至滿足每個(gè)進(jìn)程對(duì)資源的最大需求,使每個(gè)進(jìn)程都可順利地完成。如果系統(tǒng)無(wú)法找到這樣一個(gè)

7、安全序列,則稱(chēng)系統(tǒng)處于不安全狀態(tài)。只要系統(tǒng)處于安全狀態(tài),系統(tǒng)就不會(huì)發(fā)生死鎖在系統(tǒng)處于不安全狀態(tài)下未必一定發(fā)生死鎖,但是安全狀態(tài)下的系統(tǒng)是一定不會(huì)發(fā)生死鎖的。我們通過(guò)一個(gè)例子來(lái)說(shuō)明安全性。假定系統(tǒng)中有三個(gè)進(jìn)程P1、 P2和P3,共有12臺(tái)磁帶機(jī)。進(jìn)程P1總共要求10臺(tái)磁帶機(jī),P2和P3分別要求4臺(tái)和9臺(tái)。假設(shè)在T0時(shí)刻,進(jìn)程P1、P2和P3已分別獲得5臺(tái)、2臺(tái)和2臺(tái)磁帶機(jī),尚有3臺(tái)空閑未分配,如下表所示:進(jìn) 程 最 大 需 求 已 分 配 可 用 P1P2P310495223n由安全狀態(tài)向不安全狀態(tài)的轉(zhuǎn)換由安全狀態(tài)向不安全狀態(tài)的轉(zhuǎn)換n 如果不按照安全序列分配資源,則系統(tǒng)可能會(huì)由安全狀態(tài)進(jìn)入不安全

8、狀態(tài)。例如,在T0時(shí)刻以后,P3又請(qǐng)求1臺(tái)磁帶機(jī),若此時(shí)系統(tǒng)把剩余3臺(tái)中的1臺(tái)分配給P3,則系統(tǒng)便進(jìn)入不安全狀態(tài)。 因?yàn)?,此時(shí)也無(wú)法再找到一個(gè)安全序列, 例如,把其余的2臺(tái)分配給P2,這樣,在P2完成后只能釋放出4臺(tái),既不能滿足P1尚需5臺(tái)的要求,也不能滿足P3尚需6臺(tái)的要求,致使它們都無(wú)法推進(jìn)到完成,彼此都在等待對(duì)方釋放資源,即陷入僵局,結(jié)果導(dǎo)致死鎖?,F(xiàn)有同類(lèi)資源12個(gè)供3個(gè)進(jìn)程共享,假定進(jìn)程所需資源和已占資源的情況如下表所示。3個(gè)進(jìn)程在執(zhí)行中又都提出申請(qǐng)一個(gè)資源的要求,回答:na.如果先滿足進(jìn)程A的要求,系統(tǒng)將會(huì)出現(xiàn)什么現(xiàn)象?解釋之。 nb.你認(rèn)為應(yīng)按怎樣的次序分配資源才合適?為什么? n

9、答:a.在當(dāng)前狀態(tài)下,尚余2個(gè)資源可供分配,如果先滿足進(jìn)程A的要求,把其中1個(gè)資源分配給A進(jìn)程,此時(shí)A、B、C進(jìn)程仍未擁有足夠資源完成任務(wù)。系統(tǒng)進(jìn)入不安全狀態(tài),隨著進(jìn)程的繼續(xù)執(zhí)行,剩余的1個(gè)資源無(wú)論分給哪個(gè)進(jìn)程,均導(dǎo)至所有進(jìn)程進(jìn)入等告待而出現(xiàn)死鎖。nb.根據(jù)目前的資源占用情況,應(yīng)該先滿足B的要求,把剩下的2個(gè)資源分配給他,這樣,B進(jìn)程可執(zhí)行完畢歸還系統(tǒng)6個(gè)資源。這6個(gè)資源可以滿足A和C進(jìn)程的資源需求,從而使系統(tǒng)處于安全狀態(tài)。 2、利用銀行家算法避免死鎖、利用銀行家算法避免死鎖算法:把操作系統(tǒng)比作銀行家,操作系統(tǒng)管理的各種資源比作銀行的周轉(zhuǎn)資金,申請(qǐng)資源的進(jìn)程比作銀行借款的主顧。銀行家占有有限的

10、資金,他不可能滿足所有借款人的請(qǐng)求,但可以滿足一部分人的借款請(qǐng)求,等這些人歸還后,又可把這筆資金借給其他人,其原則是不能使銀行家的錢(qián)被借完,使資金無(wú)法周轉(zhuǎn)。特點(diǎn):可避免死鎖,比靜態(tài)資源分配法資源利用率高 但資源分配保守,每次分配前均要花較長(zhǎng)時(shí)間計(jì)算時(shí)間,系統(tǒng)開(kāi)銷(xiāo)較大,而且必須知道每個(gè)進(jìn)程對(duì)資源的最大需求量。3、區(qū)分死鎖的避免與死鎖的防止預(yù)防:是在運(yùn)行之前,預(yù)先防止死鎖的產(chǎn)生(主要通過(guò)破壞產(chǎn)生死鎖的四個(gè)必要條件中任何一個(gè)來(lái)實(shí)現(xiàn)的)避免:是系統(tǒng)運(yùn)行過(guò)程中注意避免死鎖的發(fā)生(要求系統(tǒng)每當(dāng)在進(jìn)程申請(qǐng)資源時(shí),都應(yīng)根據(jù)一定的算法判斷,僅當(dāng)系統(tǒng)處于安全狀態(tài)時(shí)才把資源分配給進(jìn)程,使系統(tǒng)一直處于安全狀態(tài)之中)四

11、、死鎖的檢測(cè)和解除死鎖的檢測(cè):系統(tǒng)定時(shí)運(yùn)行一個(gè)檢查程序,來(lái)檢測(cè)系統(tǒng)中是否存在死鎖,當(dāng)檢測(cè)到死鎖時(shí)再設(shè)法解除死鎖。1. 資源分配圖資源分配圖凡屬于凡屬于E中的一個(gè)邊中的一個(gè)邊eE,都連接,都連接著著P中的一個(gè)結(jié)點(diǎn)和中的一個(gè)結(jié)點(diǎn)和R中的一個(gè)結(jié)中的一個(gè)結(jié)點(diǎn),點(diǎn),e=pi, rj是資源請(qǐng)求邊,由進(jìn)是資源請(qǐng)求邊,由進(jìn)程程pi指向資源指向資源rj, 它表示進(jìn)程它表示進(jìn)程pi請(qǐng)請(qǐng)求一個(gè)單位的求一個(gè)單位的rj資源。資源。e=rj, pi是是資源分配邊,由資源資源分配邊,由資源rj指向進(jìn)程指向進(jìn)程pi, 它表示把一個(gè)單位的資源它表示把一個(gè)單位的資源rj分配給分配給進(jìn)程進(jìn)程pi。2、利用資源圖可以檢測(cè)系統(tǒng)中是否存

12、在死鎖進(jìn)程,判定死鎖、利用資源圖可以檢測(cè)系統(tǒng)中是否存在死鎖進(jìn)程,判定死鎖的法則如下:的法則如下:1)如果進(jìn)程資源圖中無(wú)環(huán)路,則此時(shí)系統(tǒng)內(nèi)不存在死鎖。2)如果進(jìn)程資源圖中有環(huán)路,且處于環(huán)路內(nèi)的每類(lèi)資源均只有一個(gè),則此時(shí)系統(tǒng)內(nèi)存在死鎖;處于環(huán)路內(nèi)的進(jìn)程就是卷入死鎖的進(jìn)程。3)如果進(jìn)程資源圖中有環(huán)路,但處于環(huán)路內(nèi)的每類(lèi)資源個(gè)數(shù)不全為一個(gè),則此時(shí)系統(tǒng)內(nèi)是否存在死鎖,還要化簡(jiǎn)進(jìn)程資源圖才能判定。3、進(jìn)程資源的化簡(jiǎn)過(guò)程、進(jìn)程資源的化簡(jiǎn)過(guò)程1)找出一個(gè)既不阻塞又非孤立的進(jìn)程節(jié)點(diǎn)Pi(條件P137)2)進(jìn)程Pi所占有的資源全部釋放時(shí),可喚醒等待此資源而進(jìn)入阻塞的進(jìn)程Pj,使原來(lái)處于阻塞的進(jìn)程可能變成非阻塞進(jìn)程

13、。3)若進(jìn)程資源狀態(tài)圖通過(guò)上述簡(jiǎn)化步驟后,都成為孤立點(diǎn),則該圖是可完全化簡(jiǎn)的,并且該進(jìn)程資源圖所代表的系統(tǒng)狀態(tài)是安全的。4、死鎖定理對(duì)于較復(fù)雜的資源狀態(tài)圖可能存在著多個(gè)非阻塞點(diǎn),若我們從不同的點(diǎn)開(kāi)始化簡(jiǎn)是否可以得到同一個(gè)化簡(jiǎn)圖呢?經(jīng)證明:一個(gè)給定的進(jìn)程資源圖的所有化簡(jiǎn)順序?qū)?dǎo)致同一個(gè)不可化簡(jiǎn)圖。所以我們進(jìn)一步可得到如下的死鎖定理:若S是死鎖狀態(tài)的話,當(dāng)且僅當(dāng)S的進(jìn)程資源圖是不可完全化簡(jiǎn)的。如果得到一個(gè)可完全化簡(jiǎn)的進(jìn)程資源狀態(tài)圖,我們就稱(chēng)該狀態(tài)為安全態(tài),反之為死鎖狀態(tài)。3、死鎖的解除當(dāng)死鎖檢測(cè)程序檢測(cè)到有死鎖存在時(shí),一般采用兩種方式來(lái)解除死鎖。1)刪除法:即終止一個(gè)或幾個(gè)涉及死鎖的進(jìn)程的執(zhí)行,收

14、回它們所占的資源進(jìn)程再分配,以破壞循環(huán)等2)剝奪法:即從涉及死鎖的一個(gè)或幾個(gè)進(jìn)程中搶奪資源,把奪來(lái)的資源再分配給卷入死鎖的其他進(jìn)程,直至死鎖解除11.某系統(tǒng)中有10臺(tái)打印機(jī),有三個(gè)進(jìn)程P1,P2,P3分別需要8臺(tái),7臺(tái)和4臺(tái)。若P1,P2,P3已申請(qǐng)到4臺(tái),2臺(tái)和2臺(tái)。試問(wèn):按銀行家算法能安全分配嗎?請(qǐng)說(shuō)明分配過(guò)程。 系統(tǒng)能為進(jìn)程P3分配二臺(tái)打印機(jī)。因?yàn)楸M管此時(shí)10臺(tái)打印機(jī)已分配給進(jìn)程P1 4臺(tái),P2 2臺(tái)和P3 4臺(tái),全部分配完,但P3已分配到所需要的全部4臺(tái)打印機(jī),它不會(huì)對(duì)打印機(jī)再提出申請(qǐng),所以它能順利運(yùn)行下去,能釋放占用的4臺(tái)打印 機(jī),使進(jìn)程P1,P2均可能獲得乘余的要求4臺(tái)和5臺(tái),按銀

15、行家算法是安全的。 n4-2用用PV操作解決讀者寫(xiě)者問(wèn)題的正確程序如下:操作解決讀者寫(xiě)者問(wèn)題的正確程序如下:nbegin S, Sr: Semaphore; rc: integer;nS:=1; Sr:=1; rc:=0;ncobegin PROCESS Reader i ( i=1,2)n begin P(Sr)n rc:=rc+1;n if rc=1 then P(S););n V(Sr););n read file;n P(Sr););n rc:=rc-1n if rc=0 thenV(S););n V(Sr););n end ;nPROCESS Writer j (j=1,2)n be

16、gin P(S););n Write file;n V(S)n end;ncoend ;nend;n請(qǐng)回答:(請(qǐng)回答:(1)信號(hào)量)信號(hào)量 Sr的作用;(的作用;(2)程序中什么語(yǔ)句用于讀寫(xiě)互斥,寫(xiě)寫(xiě)互斥;)程序中什么語(yǔ)句用于讀寫(xiě)互斥,寫(xiě)寫(xiě)互斥;(3)若規(guī)定僅允許)若規(guī)定僅允許5個(gè)進(jìn)程同時(shí)讀怎樣修改程序?個(gè)進(jìn)程同時(shí)讀怎樣修改程序?n(1)Sr用于讀者計(jì)數(shù)rc的互斥信號(hào)量;n(2)if rc=1 then P(S)中的P(S)用于讀寫(xiě)互斥,寫(xiě)者進(jìn)程中的P(S)用于寫(xiě)寫(xiě)互斥,讀寫(xiě)互斥。n(3)程序中增加一個(gè)信號(hào)量S5,初值為5,P(S5)語(yǔ)句加在讀者進(jìn)程P(Sr)之前,V(S5)語(yǔ)句加在讀者進(jìn)程第

17、2個(gè)V(Sr)之后一臺(tái)計(jì)算機(jī)有8臺(tái)磁帶機(jī),它們由N個(gè)進(jìn)程競(jìng)爭(zhēng)使用,每個(gè)進(jìn)程可能需要3臺(tái)磁帶機(jī)。請(qǐng)問(wèn)N為多少時(shí),系統(tǒng)沒(méi)有死鎖危險(xiǎn),并說(shuō)明原因。 當(dāng)N取不大于3的正整數(shù)時(shí),系統(tǒng)沒(méi)有死鎖的危險(xiǎn)。因?yàn)楫?dāng)N=1或2時(shí),最多需要6臺(tái)磁帶機(jī),系統(tǒng)不會(huì)發(fā)生死鎖。當(dāng)N=3時(shí),最壞情況是3個(gè)進(jìn)程都需要3個(gè)磁帶機(jī),且每個(gè)進(jìn)程都已擁有2個(gè)磁帶機(jī),但此時(shí)系統(tǒng)還有2臺(tái)未分配的磁帶,能滿足其中兩個(gè)進(jìn)程的資源請(qǐng)求,使進(jìn)程順利推進(jìn)后再釋放資源,此時(shí)另外1個(gè)進(jìn)程因?yàn)榈玫奖会尫诺拇艓C(jī)而能夠獲得足夠的磁帶機(jī),也可以順利執(zhí)行,不會(huì)發(fā)生死鎖。 14、某系統(tǒng)有A,B,C,D這4類(lèi)資源供5個(gè)進(jìn)程共享,進(jìn)程對(duì)資源的需求和分配情況如下表所示。

18、現(xiàn)在系統(tǒng)還剩資源A類(lèi)1個(gè),B類(lèi)5個(gè),C類(lèi)2個(gè)和D類(lèi)0個(gè),請(qǐng)按銀行家算法回答下面問(wèn)題: 進(jìn)程 已占資源數(shù) 最大需求數(shù) A B C D A B C D P1 0 0 1 2 0 0 1 2 P2 1 0 0 0 1 7 5 0 P3 1 3 5 4 2 3 5 6 P4 0 6 3 2 0 6 5 2 P5 0 0 1 4 0 6 5 6 na.現(xiàn)在系統(tǒng)是否處于安全狀態(tài)? nb.如果現(xiàn)在進(jìn)程P2提出需要(0,4,2,0)個(gè)資源的要求,系統(tǒng)能否滿足它的請(qǐng)求? 按照銀行家算法,當(dāng)進(jìn)程首次申請(qǐng)資源時(shí),要測(cè)試該進(jìn)程對(duì)資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量則按當(dāng)前的申請(qǐng)分配資源,否則就推

19、遲分配。 當(dāng)進(jìn)程在執(zhí)行繼續(xù)申請(qǐng)資源時(shí),先測(cè)試進(jìn)程已占有的資源數(shù)與本次申請(qǐng)的資源數(shù)之和是否超過(guò)了該進(jìn)程對(duì)資源的最大需求量。若超過(guò)則拒絕分配資源,若沒(méi)有超過(guò)則再測(cè)試系統(tǒng)現(xiàn)存的資源能否滿足該進(jìn)程尚需的最大資源數(shù),若能滿足則按當(dāng)前的申請(qǐng)量分配資源,否則也要推遲分配。n答:a.在這里,進(jìn)程P1已經(jīng)擁有足夠資源,在執(zhí)行后可歸還C和D資源,同時(shí),進(jìn)程P3可以得到足夠的資源完成執(zhí)行,其后,P2,P4、P5可以依次得到足夠的資源來(lái)完成,因此,用銀行家算法分配資源時(shí),系統(tǒng)處于安全狀態(tài)。 nb.系統(tǒng)不會(huì)滿足進(jìn)程P2的資源要求。根據(jù)銀行家算法,P2進(jìn)程首次申請(qǐng)B類(lèi)資源4個(gè),不大于其所需的最大資源數(shù)(7個(gè)),也不大于系

20、統(tǒng)尚存可用資源數(shù)(5個(gè)),但對(duì)于C類(lèi)資源,其剩余量(2個(gè))不足以滿足進(jìn)程最大需求量(5個(gè)),因此系統(tǒng)將推遲給P2進(jìn)程分配資源。15、某系統(tǒng)有同類(lèi)資源m個(gè)供n個(gè)進(jìn)程共享,如果每個(gè)進(jìn)程最多申請(qǐng)x個(gè)資源(1xm)且各進(jìn)程的最大需求量之和小于(m+n),證明該系統(tǒng)不會(huì)發(fā)生死鎖。 進(jìn)程A1,A2,An1通過(guò)m個(gè)緩沖區(qū)向進(jìn)程B1,B2,Bn2不斷的發(fā)送消息。發(fā)送消息。發(fā)送和接收工作遵循如下規(guī)則:1 每個(gè)發(fā)進(jìn)程一次發(fā)送一個(gè)消息,寫(xiě)入一個(gè)緩沖區(qū),緩沖區(qū)大小與消息長(zhǎng)度一樣;2 對(duì)每一個(gè)消息,B1,B2,Bn2都需要個(gè)接收一次,讀入各自的緩沖區(qū)內(nèi);3 M個(gè)緩沖區(qū)都滿時(shí)。發(fā)送進(jìn)程等待,沒(méi)有可讀的消息時(shí),接收進(jìn)程等待。使用P、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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論