所谓安全状态,是指系统能按某种进程推进顺序 ( P 1 , P 2 , … , P n ) (P_1,P_2,…,P_n)(P1,P2,…,Pn)为每个进程 P i P_iPi分配其所需资源,直至满足每个进程对资源的最大需求,使每个进程都可顺利地完成。此时称 ( P 1 , P 2 , … , P n ) (P_1,P_2,…,P_n)(P1,P2,…,Pn)为安全序列。如果系统无法找到这样一个安全序列,则称系统处于不安全状态。虽然你并非所有不安全状态都比然会转化为死锁状态,但当系统进入不安全状态后,就有可能进入死锁状态。反之,只要系统处于安全状态,系统便不会进入死锁状态。因此,避免所的实质在于,系统在进行资源分配时,应使系统不进入不安全状态。
六、死锁的检测与解除
如果在系统中,既不采取死锁预防措施,也未配有死锁避免算法,系统很可能会发生死锁,在这种情况下,系统应当提供里那个算法:
死锁检测算法:该方法用于检测系统状态,以确定系统中是否发生了死锁
死锁解除算法:当认定系统中已经发生了死锁,利用该算法可将系统从死锁中解脱出来。
死锁的检测
为了能对系统中是否已发生了死锁进行检测,在系统中必须:
保存有关资源的请求和分配信息
提供一种算法,它利用这些信息来检测系统是否已进入死锁状态

资源分配图

系统死锁,可利用资源分配图来描述。该图是由一组节点N和一组边E所组成的一个对偶 G = ( N , E ) G=(N,E)G=(N,E),它具有下述形式的定义和限制。
待补充126