操作系統的死鎖 主要是介紹了 進程直接發生的特殊情況,內存中每個進程互相等待對方手裏的資源,導致各個進程都阻塞,無法向前推進,導致死鎖。
主要的重點冷月做出了標識,知識點如下圖(pdf版或xmind源文件請關注公衆號:學長冷月,回覆操作系統)。
冷月點睛
死鎖
定義
內存中每個進程互相等待對方手裏的資源,導致各個進程都阻塞,無法向前推進
產生條件
系統資源的不恰當分配
進程推進順序非法
產生死鎖的四個必要條件
互斥條件
進程互斥訪問臨界資源
不可剝奪條件
已經分配給進程的資源不可被其他進程剝奪
請求與保持條件
已經請求到了資源且還在請求其他進程手裏的資源
環形等待條件
形成了一個環形資源請求鏈
死鎖的處理
事先預防,不允許死鎖發生
死鎖預防,破壞互斥條件,破壞不可剝奪條件,破壞請求與保持條件,破壞環形等待條件
死鎖避免,銀行家算法
事後處理
允許死鎖發生
死鎖的檢測與解除
資源分配圖
死鎖檢查算法,依次消除不會阻塞進程的邊,直到無邊可消
死鎖定理,資源分配圖無法完全簡化則發生死鎖
如果這篇博文有幫助到您,可以幫冷月點一個贊或者加一個關注哦!
歡迎關注我的公衆號:學長冷月,獲得獨家整理的學習資源和日常乾貨推送。 如果您對我的專題內容感興趣,也可以關注我的博客:guoyu7.com