死鎖是指兩個或兩個以上的進程在執行過程中,由于競争資源或者由于彼此通信而造成的一種阻塞的現象,若無外力作用,它們都将無法推進下去。此時稱系統處于死鎖狀态或系統産生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。
産生原因如下:
1、 競争資源引起進程死鎖。當系統中供多個進程共享的資源如打印機、公用隊列的等,其數目不足以滿足諸進程的需要時,會引起諸進程對資源的競争而産生死鎖;
2、 可剝奪資源和不可剝奪資源。系統中的資源可以分為兩類,一類是可剝奪資源,是指某進程在獲得這類資源後,該資源可以再被其他進程或系統剝奪;
3、 競争不可剝奪資源。在系統中所配置的不可剝奪資源,由于它們的數量不能滿足諸進程運行的需要,會使進程在運行過程中,因争奪這些資源而陷于僵局;
4、 競争臨時資源。指由一個進程産生,被另一個進程使用,短時間後便無用的資源,故也稱為消耗性資源,它也可能引起死鎖。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!