3 最高優(yōu)先數(shù)算法。
靜態(tài)優(yōu)先數(shù)。動態(tài)優(yōu)先數(shù)。
在多道程序系統(tǒng)中,一組進(jìn)程中的每個進(jìn)程均無限期的等待被該組進(jìn)程中的另一個進(jìn)程所占有且永遠(yuǎn)不會釋放的資源,這種現(xiàn)象處于死鎖狀態(tài)。處于死瑣狀態(tài)的進(jìn)程稱為死瑣進(jìn)程。發(fā)生死瑣時,死瑣進(jìn)程至少有兩個。所有死瑣進(jìn)程都有等待資源,其中,至少有兩個死瑣進(jìn)程占用了資源。
永久性資源和臨時性資源。
產(chǎn)生死瑣的原因是:
3 系統(tǒng)提供的資源數(shù)量有限,不能滿足每個進(jìn)程的使用。
4 多道程序設(shè)計時,進(jìn)程推進(jìn)次序不合理。
產(chǎn)生死瑣的4個必要條件:
1 互斥條件。
2 不可剝奪條件。
3 部分分配。
4 循環(huán)等待。
資源分配圖(注意40頁B圖有問題)
三種預(yù)防措施:
2 采用靜態(tài)資源預(yù)分配,破壞“部分分配”條件。
3 允許進(jìn)程剝奪其他進(jìn)程占用的資源,從而破壞“不可剝奪”條件。
4 采用資源有序分配法,破壞“環(huán)路”條件。
安全狀態(tài)是沒有死瑣的狀態(tài)。
什么時候進(jìn)行死瑣檢測主要取決于死瑣發(fā)生的頻率和死瑣所涉及的進(jìn)程個數(shù)。
死瑣的解除:
1 資源剝奪法。
2 撤消進(jìn)程法。