冷月手撕408之操作系統(11)-死鎖

操作系統的死鎖 主要是介紹了 進程直接發生的特殊情況,內存中每個進程互相等待對方手裏的資源,導致各個進程都阻塞,無法向前推進,導致死鎖。

主要的重點冷月做出了標識,知識點如下圖(pdf版或xmind源文件請關注公衆號:學長冷月,回覆操作系統)。

file

冷月點睛

死鎖

定義

內存中每個進程互相等待對方手裏的資源,導致各個進程都阻塞,無法向前推進

產生條件

系統資源的不恰當分配

進程推進順序非法

產生死鎖的四個必要條件

互斥條件

進程互斥訪問臨界資源

不可剝奪條件

已經分配給進程的資源不可被其他進程剝奪

請求與保持條件

已經請求到了資源且還在請求其他進程手裏的資源

環形等待條件

形成了一個環形資源請求鏈

死鎖的處理

事先預防,不允許死鎖發生

死鎖預防,破壞互斥條件,破壞不可剝奪條件,破壞請求與保持條件,破壞環形等待條件

死鎖避免,銀行家算法

事後處理

允許死鎖發生

死鎖的檢測與解除

資源分配圖

死鎖檢查算法,依次消除不會阻塞進程的邊,直到無邊可消

死鎖定理,資源分配圖無法完全簡化則發生死鎖

如果這篇博文有幫助到您,可以幫冷月點一個贊或者加一個關注哦!

歡迎關注我的公衆號:學長冷月,獲得獨家整理的學習資源和日常乾貨推送。 如果您對我的專題內容感興趣,也可以關注我的博客:guoyu7.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章