银行家算法
目的:避免死锁的产生。
算法思想:
1、假分配检测:Request < Need
Request < Available
2、安全序列检测算法
实例列举:
某系统有R1,R2,R3共3中资源,在T0时刻P0,P1,P2,P3和P4这5个进程对资源的占用和需求情况如下表1,此时系统的可用资源向量为(3,3,2)。试问:
1、T0时刻系统是否存在安全序列?
2、P1请求资源:P1发出请求向量Request(1,0,2),系统是否接受该请求?请使用银行家算法检查
3、P4请求资源:P4发出请求向量Request(3,3,0),系统按银行家算法检查.
4、P0请求资源:P0发出请求向量Request(0,2,0),系统按银行家算法检查.
表1 T0时刻的资源分配表:
1、T0时刻系统是否存在安全序列?
Available > Need1 ----> 可用资源分配给P1,直到P1进程执行完成,然后Available = Available + Allocation1 = (5,3,2)
Available > Need3 -----> 可用资源分配给P3,直到P3进程执行完成ÿ