思维导图
安全序列
来看这样的情况:
由上述表格可知,B仍需50,A仍需30,T仍需20,我手中剩余40
方案一:
我将30借给B,我手中剩余10;B仍需20,A仍需30,T仍需20;此时我手中剩余的钱借给谁都满足不了他们的需求;不安全
方案二:
我将30借给A;A满足后将所有钱归还,此时我手中剩余50;
然后将50借给B;B满足后将所有钱归还,此时我手中剩余70;
然后我在将20借给T;T满足后将所有钱归还;此时手中剩余100;
这样都达到了B、A、T的需求;安全;序列为:A->B->T(不唯一,满足即可)。我们称这样一个序列为安全序列。
如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁。(处于不安全状态未必死锁,但死锁一定处于不安全状态)
例
剩余资源数:(3,3,2)
第一次分配:P1,满足;释放后剩余:(5,3,2)
第二次分配:P3,满足;释放后剩余:(7,4,3)
第三次分配:P0,满足;释放后剩余:(7,5,3)
第四次分配:P2,满足;释放后剩余:(10,5,5)
第五次分配:P4,满足;释放后剩余:(10,5,7)
安全序列:P1–P3–P0–P2–P4(不唯一)