-
進程死鎖
鎖定
如果多個進程同時佔有對方需要的資源而同時請求對方的資源,而它們在得到請求之前不會釋放所佔有的資源,那麼就會導致死鎖的發生,也就是進程不能實現同步。
- 中文名
- 進程死鎖
- 外文名
- Mutual exclusion
- 原 因
- 競爭資源和進程間推進順序非法
- 死鎖條件
- 互斥條件
進程死鎖死鎖原因
產生死鎖的原因可歸結為如下兩點:
(1)競爭資源。當系統中供多個進程共享的資源如打印機、公用隊列等,其數目不足以滿足進程的需要時,會引起諸進程的競爭而產生死鎖。
進程死鎖死鎖條件
1.互斥條件(Mutual exclusion):資源不能被共享,只能由一個進程使用。
2.請求與保持條件(Hold and wait):已經得到資源的進程可以再次申請新的資源。
3.非剝奪條件(No pre-emption):已經分配的資源不能從相應的進程中被強制地剝奪。
4.循環等待條件(Circular wait):系統中若干進程組成環路,該環路中每個進程都在等待相鄰進程正佔用的資源。
進程死鎖預防死鎖
1、採用資源靜態分配策略,破壞"部分分配"條件;
2、允許進程剝奪使用其他進程佔有的資源,從而破壞"不可剝奪"條件;
3、採用資源有序分配法,破壞"環路"條件。
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:8次歷史版本
- 最近更新: Sweet_小萝卜