《進(jìn)程死鎖》PPT課件

《進(jìn)程死鎖》PPT課件

ID:39161421

大小:239.51 KB

頁(yè)數(shù):39頁(yè)

時(shí)間:2019-06-26

《進(jìn)程死鎖》PPT課件_第1頁(yè)
《進(jìn)程死鎖》PPT課件_第2頁(yè)
《進(jìn)程死鎖》PPT課件_第3頁(yè)
《進(jìn)程死鎖》PPT課件_第4頁(yè)
《進(jìn)程死鎖》PPT課件_第5頁(yè)
資源描述:

《《進(jìn)程死鎖》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、第8章進(jìn)程死鎖死鎖的概念死鎖產(chǎn)生的原因死鎖的必要條件死鎖預(yù)防死鎖避免死鎖檢測(cè)與解除死鎖現(xiàn)象引例:系統(tǒng)中有兩個(gè)進(jìn)程P1、P2,兩份資源S1、S2,目前狀況是:S1P1S2P2死鎖現(xiàn)象進(jìn)程P1擁有資源S1,進(jìn)程P2擁有資源S2,但他們都在不放棄已擁有資源的情況下,申請(qǐng)對(duì)方所占有的資源。出現(xiàn):P1和P2相互等待對(duì)方資源的現(xiàn)象。死鎖:系統(tǒng)中的一組進(jìn)程,每一個(gè)進(jìn)程都在等待另一個(gè)進(jìn)程所占有的資源,使系統(tǒng)處于無(wú)限期的等待狀態(tài)。死鎖產(chǎn)生的原因資源分配不合理進(jìn)程推進(jìn)速度不合理。著名的哲學(xué)家問(wèn)題:哲學(xué)家問(wèn)題每個(gè)人必須同時(shí)拿到兩根筷子才能

2、吃到面條。如果每個(gè)人都拿到了一根筷子,就永遠(yuǎn)吃不到面條了。思考:哲學(xué)家之間是什么關(guān)系?如何用信號(hào)量和PV原語(yǔ)實(shí)現(xiàn)他們之間的制約關(guān)系?注意:死鎖討論的范疇不屬于討論的范疇進(jìn)程申請(qǐng)了不存在的資源申請(qǐng)資源最大數(shù)超過(guò)了系統(tǒng)擁有的最大數(shù)硬件故障或程序性錯(cuò)誤引起的循環(huán)等待假定:任何一個(gè)進(jìn)程要求資源的最大數(shù)不超過(guò)系統(tǒng)提供最大數(shù)量申請(qǐng)資源得到滿足,一定在有限時(shí)間內(nèi)完成只有在申請(qǐng)資源得不到滿足時(shí)才處于等待狀態(tài)死鎖存在的必要條件資源的互斥使用資源的不可搶占占有并等待(資源的部分分配)資源的循環(huán)等待。S1S2P1P2資源分配圖用有向圖來(lái)表

3、示進(jìn)程對(duì)資源的占有情況。頂點(diǎn):進(jìn)程,資源邊:如果一個(gè)進(jìn)程已經(jīng)占有了一份資源,則畫(huà)一條指向進(jìn)程的邊。如果一個(gè)進(jìn)程申請(qǐng)一份資源,則畫(huà)一條指向資源的邊。如果同一份資源有多個(gè),則用頂點(diǎn)中的圓點(diǎn)數(shù)表示。???????P1P2P3r1r2r3r4資源分配圖用資源分配圖判斷死鎖如果沒(méi)有環(huán)路,則一定沒(méi)有死鎖如果有環(huán)路,且環(huán)路中資源類只有一個(gè)資源,則有死鎖。如果有環(huán)路,但環(huán)路中資源類有多個(gè)資源,則不一定有死鎖。例題假定某系統(tǒng)當(dāng)時(shí)的資源分配圖如下所示:(1)分析當(dāng)時(shí)系統(tǒng)是否存在死鎖。(2)若進(jìn)程P3再申請(qǐng)R3時(shí),系統(tǒng)將發(fā)生什么變化,說(shuō)明

4、原因。死鎖的防止原理:打破死鎖存在的四個(gè)必要條件之一。互斥條件:不能人為打破。占有并等待:措施一:資源的靜態(tài)分配。在進(jìn)程運(yùn)行前,將進(jìn)程所需要的所有資源分配給進(jìn)程,且在整個(gè)進(jìn)程運(yùn)行過(guò)程中,進(jìn)程所占有資源不能被其他進(jìn)程使用。釋放已占資源死鎖的防止不可搶奪允許搶占:資源尚未占用;進(jìn)程處在等待狀態(tài)只有處理器、主存資源可以搶占循環(huán)等待:資源的按序分配。將資源編號(hào),緊缺資源的編號(hào)大,充裕資源的編號(hào)小。只有低編號(hào)的資源得到滿足后,才能分配高編號(hào)資源。打破了資源的循環(huán)等待。按序分配的例—哲學(xué)家問(wèn)題將叉子編號(hào),F(xiàn)1、F2、F3、F4、

5、F5P1:P2:P3:L:P(F1)L:P(F2)L:P(F3)P(F2)P(F3)P(F4)吃面吃面吃面V(F1)V(F2)V(F3)V(F2)V(F3)V(F4)GOTOLGOTOLGOTOL按序分配的例—哲學(xué)家問(wèn)題P4:P5:L:P(F4)L:P(F1)P(F5)P(F5)吃面吃面V(F4)V(F1)V(F5)V(F5)GOTOLGOTOL8.4死鎖避免資源的動(dòng)態(tài)分配:允許根據(jù)用戶需求分配資源,但每次分配之前都要檢查系統(tǒng)是否安全,如果不安全,即使有資源,也不能分配給進(jìn)程。安全的含義:如果系統(tǒng)中存在著一個(gè)進(jìn)程序列

6、,使所有的進(jìn)程都能夠運(yùn)行結(jié)束,則稱系統(tǒng)是安全的。否則是不安全的。如何判斷系統(tǒng)是否安全?“不安全”與死鎖的區(qū)別“不安全”并不一定發(fā)生死鎖死鎖狀態(tài)集是不安全狀態(tài)集的子集不安全狀態(tài)死鎖狀態(tài)銀行家算法-基本思想一個(gè)用戶對(duì)資金的最大需求量不超過(guò)銀行家現(xiàn)有的資金用戶可以分期貸款,但貸款總數(shù)不能超過(guò)最大需求量可以推遲支付,但總能在有限的時(shí)間內(nèi)讓用戶得到貸款當(dāng)用戶得到所需全部資金后,一定能在有限的時(shí)間內(nèi)歸還銀行家算法-原理當(dāng)進(jìn)程首次申請(qǐng)資源時(shí):測(cè)試該進(jìn)程對(duì)資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量,則按申請(qǐng)分配,否則

7、推遲分配。執(zhí)行過(guò)程中申請(qǐng):先測(cè)試已占用的資源數(shù)與本次申請(qǐng)的資源數(shù)之和是否超過(guò)該進(jìn)程對(duì)資源的最大需求量再測(cè)試系統(tǒng)現(xiàn)存的資源能否滿足該進(jìn)程尚需的最大資源量銀行家算法-數(shù)據(jù)結(jié)構(gòu)系統(tǒng)中總的資源進(jìn)程運(yùn)行所需的最大資源數(shù)已經(jīng)分配的資源數(shù)P還需要申請(qǐng)的資源數(shù)R銀行家算法-過(guò)程準(zhǔn)備:計(jì)算系統(tǒng)中的剩余資源F;計(jì)算進(jìn)程請(qǐng)求資源R(1)找到一個(gè)進(jìn)程Pi,滿足Ri<=F(2)如果找到這樣的進(jìn)程,則將F=F+Pi(3)繼續(xù)(1)(4)如果找不到一個(gè)進(jìn)程,滿足:F>=Ri,則說(shuō)明系統(tǒng)不安全。(5)若所有進(jìn)程都能夠運(yùn)行結(jié)束,則系統(tǒng)安全。例題教材P

8、240例1銀行家算法的應(yīng)用實(shí)例現(xiàn)有三個(gè)進(jìn)程P1、P2、P3,,共享A、B、C三類資源,進(jìn)程對(duì)資源的需求量和目前分配情況如下表:進(jìn)程已占有資源數(shù)最大需求數(shù)ABCABCP1263265P2201201P3210285若系統(tǒng)還有剩余資源分別為:A類2個(gè),B類6個(gè),C類2個(gè)。請(qǐng)回答下列問(wèn)題:(1)?目前系統(tǒng)是否處于安全狀態(tài)?(2)如果進(jìn)程P3提出申請(qǐng)(

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。