死鎖的四個必要條件,及處理方法

死鎖的四個必要條件
互斥條件(Mutual exclusion):資源不能被共享,只能由一個進程使用。
請求與保持條件(Hold and wait):已經獲得資源的進程能夠再次申請新的資源。
非剝奪條件(No pre-emption):已經分配的資源不能從相應的進程中被強制地剝奪。
循環等待條件(Circular wait):系統中若干進程組成環路,該環路中每一個進程都在等待相鄰進程正佔用的資源。
處理死鎖的策略
1.忽略該問題。例如鴕鳥算法,該算法能夠應用在極少發生死鎖的的狀況下。爲何叫鴕鳥算法呢,由於傳說中鴕鳥看到危險就把頭埋在地底下,可能鴕鳥以爲看不到危險也就沒危險了吧。跟掩耳盜鈴有點像。2.檢測死鎖而且恢復。3.仔細地對資源進行動態分配,以免死鎖。4.經過破除死鎖四個必要條件之一,來防止死鎖產生。
相關文章
相關標籤/搜索