《進程死鎖》PPT課件

《進程死鎖》PPT課件

ID:39725507

大?。?39.61 KB

頁數(shù):39頁

時間:2019-07-10

《進程死鎖》PPT課件_第1頁
《進程死鎖》PPT課件_第2頁
《進程死鎖》PPT課件_第3頁
《進程死鎖》PPT課件_第4頁
《進程死鎖》PPT課件_第5頁
資源描述:

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

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

2、條了。思考:哲學(xué)家之間是什么關(guān)系?如何用信號量和PV原語實現(xiàn)他們之間的制約關(guān)系?注意:死鎖討論的范疇不屬于討論的范疇進程申請了不存在的資源申請資源最大數(shù)超過了系統(tǒng)擁有的最大數(shù)硬件故障或程序性錯誤引起的循環(huán)等待假定:任何一個進程要求資源的最大數(shù)不超過系統(tǒng)提供最大數(shù)量申請資源得到滿足,一定在有限時間內(nèi)完成只有在申請資源得不到滿足時才處于等待狀態(tài)死鎖存在的必要條件資源的互斥使用資源的不可搶占占有并等待(資源的部分分配)資源的循環(huán)等待。S1S2P1P2資源分配圖用有向圖來表示進程對資源的占有情況。頂點:進程,資源邊:如果一個進程已經(jīng)占有了一份資源,則畫一條指向進程的邊。如果一

3、個進程申請一份資源,則畫一條指向資源的邊。如果同一份資源有多個,則用頂點中的圓點數(shù)表示。???????P1P2P3r1r2r3r4資源分配圖用資源分配圖判斷死鎖如果沒有環(huán)路,則一定沒有死鎖如果有環(huán)路,且環(huán)路中資源類只有一個資源,則有死鎖。如果有環(huán)路,但環(huán)路中資源類有多個資源,則不一定有死鎖。例題假定某系統(tǒng)當(dāng)時的資源分配圖如下所示:(1)分析當(dāng)時系統(tǒng)是否存在死鎖。(2)若進程P3再申請R3時,系統(tǒng)將發(fā)生什么變化,說明原因。死鎖的防止原理:打破死鎖存在的四個必要條件之一?;コ鈼l件:不能人為打破。占有并等待:措施一:資源的靜態(tài)分配。在進程運行前,將進程所需要的所有資源分配給

4、進程,且在整個進程運行過程中,進程所占有資源不能被其他進程使用。釋放已占資源死鎖的防止不可搶奪允許搶占:資源尚未占用;進程處在等待狀態(tài)只有處理器、主存資源可以搶占循環(huán)等待:資源的按序分配。將資源編號,緊缺資源的編號大,充裕資源的編號小。只有低編號的資源得到滿足后,才能分配高編號資源。打破了資源的循環(huán)等待。按序分配的例—哲學(xué)家問題將叉子編號,F(xiàn)1、F2、F3、F4、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按序分配的例

5、—哲學(xué)家問題P4:P5:L:P(F4)L:P(F1)P(F5)P(F5)吃面吃面V(F4)V(F1)V(F5)V(F5)GOTOLGOTOL8.4死鎖避免資源的動態(tài)分配:允許根據(jù)用戶需求分配資源,但每次分配之前都要檢查系統(tǒng)是否安全,如果不安全,即使有資源,也不能分配給進程。安全的含義:如果系統(tǒng)中存在著一個進程序列,使所有的進程都能夠運行結(jié)束,則稱系統(tǒng)是安全的。否則是不安全的。如何判斷系統(tǒng)是否安全?“不安全”與死鎖的區(qū)別“不安全”并不一定發(fā)生死鎖死鎖狀態(tài)集是不安全狀態(tài)集的子集不安全狀態(tài)死鎖狀態(tài)銀行家算法-基本思想一個用戶對資金的最大需求量不超過銀行家現(xiàn)有的資金用戶可以分

6、期貸款,但貸款總數(shù)不能超過最大需求量可以推遲支付,但總能在有限的時間內(nèi)讓用戶得到貸款當(dāng)用戶得到所需全部資金后,一定能在有限的時間內(nèi)歸還銀行家算法-原理當(dāng)進程首次申請資源時:測試該進程對資源的最大需求量,如果系統(tǒng)現(xiàn)存的資源可以滿足它的最大需求量,則按申請分配,否則推遲分配。執(zhí)行過程中申請:先測試已占用的資源數(shù)與本次申請的資源數(shù)之和是否超過該進程對資源的最大需求量再測試系統(tǒng)現(xiàn)存的資源能否滿足該進程尚需的最大資源量銀行家算法-數(shù)據(jù)結(jié)構(gòu)系統(tǒng)中總的資源進程運行所需的最大資源數(shù)已經(jīng)分配的資源數(shù)P還需要申請的資源數(shù)R銀行家算法-過程準(zhǔn)備:計算系統(tǒng)中的剩余資源F;計算進程請求資源R(

7、1)找到一個進程Pi,滿足Ri<=F(2)如果找到這樣的進程,則將F=F+Pi(3)繼續(xù)(1)(4)如果找不到一個進程,滿足:F>=Ri,則說明系統(tǒng)不安全。(5)若所有進程都能夠運行結(jié)束,則系統(tǒng)安全。例題教材P240例1銀行家算法的應(yīng)用實例現(xiàn)有三個進程P1、P2、P3,,共享A、B、C三類資源,進程對資源的需求量和目前分配情況如下表:進程已占有資源數(shù)最大需求數(shù)ABCABCP1263265P2201201P3210285若系統(tǒng)還有剩余資源分別為:A類2個,B類6個,C類2個。請回答下列問題:(1)?目前系統(tǒng)是否處于安全狀態(tài)?(2)如果進程P3提出申請(

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

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

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