单机系统当程序出错或某一外部条件始终不能满足时,就可能出现死循环或无休止的等待状态,即称为死锁。分布式多机系统由于系统复杂,管理困难,竞用资源的情况又十分严重,更容易发生死锁问题。在多机系统中,若两组进程各自占用了一部分资源,都在等待对方释放出某些资源,或多个进程循环占用资源,因而进程不能进行下去,处于无休止的等待状态,而使系统瘫痪,即称为多机系统的死锁(Deadlock)。
形成死锁有三个必要条件;①进程排它性地占有某些系统资源:②当进程对资源的进一步要求未得到满足而挂起时,继续占有其资源而不释放;③资源占有状况出现死循环,即A1要求的资源被A2占有,A2要求的资源被A3占有,…,最后,An要求的资源又被A1占有(n为正整数,且n≥2)。