死鎖的四個必要條件和避免死鎖的方法

2021-06-21 12:57:16 字數 398 閱讀 4246

3.6 預防死鎖的方法

3.6.1 預防死鎖

1. 摒棄「請求和保持」條件

2. 摒棄「不剝奪」條件

3. 摒棄「環路等待」條件

4.1、互斥使用(資源獨佔) 

乙個資源每次只能給乙個程序使用

4.2、不可強佔(不可剝奪)

資源申請者不能強行的從資源佔有者手中奪取資源,資源只能由佔有者自願釋放

4.3、請求和保持(部分分配,占有申請)

乙個程序在申請新的資源的同時保持對原有資源的占有(只有這樣才是動態申請,動態分配)

4.4、迴圈等待

, 其中p1等待p2占有的資源,p2等待p3占有的資源,…,pn等待p1占有的資源,形成乙個程序等待環路

死鎖的四個必要條件

作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解 除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中...

死鎖的四個必要條件

作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解 除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中...

死鎖的四個必要條件

作業系統中有若干程序併發執行,它們不斷申請 使用 釋放系統資源,雖然系統的進 程協調 通訊機構會對它們進行控制,但也可能出現若干程序都相互等待對方釋放資源才能 繼續執行,否則就阻塞的情況。此時,若不借助外界因素,誰也不能釋放資源,誰也不能解 除阻塞狀態。根據這樣的情況,作業系統中的死鎖被定義為系統中...