1戈二、產(chǎn)生死鎖的必要條件:
缺一不可
- 互斥條件:進程要求對所分配的資源進行排它性控制房资,即在一段時間內(nèi)某資源僅為一進程所占用。
- 請求和保持條件:當(dāng)進程因請求資源而阻塞時忍些,對已獲得的資源保持不放鲁猩。
- 不剝奪條件:進程已獲得的資源在未使用完之前,不能剝奪罢坝,只能在使用完時由自己釋放廓握。
- 環(huán)路等待條件:在發(fā)生死鎖時,必然存在一個進程--資源的環(huán)形鏈。
2隙券、如何避免死鎖男应?
打破其中某一條件
- 資源一次性分配:一次性分配所有資源,這樣就不會再有請求了:(破壞請求條件)
- 只要有一個資源得不到分配是尔,也不給這個進程分配其他的資源:(破壞請保持條件)
- 可剝奪資源:即當(dāng)某進程獲得了部分資源殉了,但得不到其它資源,則釋放已占有的資源(破壞不可剝奪條件)
- 資源有序分配法:系統(tǒng)給每類資源賦予一個編號拟枚,每一個進程按編號遞增的順序請求資源薪铜,釋放則相反(破壞環(huán)路等待條件)