死鎖
指兩個或兩個以上的程序在執行過程中,因争奪資源而造成的一種互相等待的現象,若無外力作用,它們都将無法推進下去。
此時稱系統處于死鎖狀态或系統産生了死鎖,這些永遠在互相等竺的程序稱為死鎖程序.
産生死鎖的原因主要是:
- 因為系統資源不足
- 程序運作推進的順序不合适
- 資源配置設定不當等
- 互斥條件:一個資源每次隻能被一個程序使用。
- 請求與保持條件:一個程序因請求資源而阻塞時,對已獲得的資源保持不放。
- 不剝奪條件:程序已獲得的資源,在末使用完之前,不能強行剝奪。
- 循環等待條件:若幹程序之間形成一種頭尾相接的循環等待資源關系。