例题:有A,B,C,D四类资源,其中资源量分别是3,12,14,14,在某时刻如下表所示,采用银行家算法。
首先计算出来各个进程间的需要资源量是多少。
最大资源需求量MAX | 已分配资源数量Alocation | 需要的资源量(自己算)(最大-已分配) | ||||||||||
A | B | C | D | A | B | C | D | A | B | C | D | |
p1 | 0 | 0 | 4 | 4 | 0 | 0 | 3 | 2 | 0 | 0 | 1 | 2 |
p2 | 2 | 7 | 5 | 0 | 1 | 0 | 0 | 0 | 1 | 7 | 5 | 0 |
p3 | 3 | 6 | 10 | 10 | 1 | 3 | 5 | 4 | 2 | 3 | 5 | 6 |
p4 | 0 | 9 | 8 | 4 | 0 | 3 | 3 | 2 | 0 | 6 | 5 | 2 |
p5 | 0 | 6 | 6 | 10 | 0 | 0 | 1 | 4 | 0 | 6 | 5 | 6 |
分配完进程后剩余的A,B,C,D的资源量。资源量总数-分配的资源量和) | 1 | 6 | 2 | 2 |
由上表可得:剩余资源量A,B,C,D为(1,6,2,2)。
第一步:看一下能满足哪个进程。得,可以满足p1。p1之后(原先已分配的资源也会释放)所以剩余资源变为(1,6,2,2)+(0,0,3,2)=(1,6,5,4),。
第二步:同理第一步,可满足p4:,其它进程不可以。所以此时D,E。选项肯定是不安全的。p4之后剩余资源为(1,6,5,4)+(0,3,3,2)=(1,9,8,6).
第三步:同理一可知p2和p5均可,p3不可,所以c选项也不安全。看A,B选项。不管先p2还是先p5.剩余资源都满足P3.所以答案是CDE,