问答题 设系统中有三类资源A.B和C,又设系统中有5个进程P1,P2,P3,P4和P5。在T0时刻系统状态如下:
最大需求量
已分配资源量
剩余资源量
A B C
A B C
A B C
P1
8 6 4
1 2 1
2 1 1
P2
4 3 3
3 1 1
P3
10 1 3
4 1 3
P4
3 3 3
3 2 2
P5
5 4 6
1 1 3
(1)系统是否处于安全状态?如是,则给出进程安全序列
(2)如果进程P5申请1个资源类A,1个资源类B和1个资源类C,能否实施分配?为什么?

【正确答案】(1)
最大需求量 已分配资源量 剩余资源量 尚需要量
A B C A B C A B C A B C
P1 8 6 4 1 2 1 2 1 1 7 4 3
P2 4 3 3 3 1 1 1 2 2
P3 10 1 3 4 1 3 6 0 0
P4 3 3 3 3 2 2 0 1 1
P5 5 4 6 1 1 3 4 3 3
系统是处于安全状态,安全序列为:P4,P2,P1,P3,P5
(2)P5申请(1,1,1)
①进行两个判断:(1,1,1)小于P5的Need(4,3,3);
(1,1,1)小于当前的剩余Available(2,1,1)
②假定分配给P5,修改P5的allocation及Need数据,还有系统的Available数据。
最大需求量 已分配资源量 剩余资源量 尚需要量

A B C A B C A B C A B C
P1 8 6 4 1 2 1 1 0 0 7 4 3
P2 4 3 3 3 1 1 1 2 2
P3 10 1 3 4 1 3 6 0 0
P4 3 3 3 3 2 2 0 1 1
P5 5 4 6 2 2 4 3 2 2
③利用安全性算法检查此时系统是否安全。
因为所剩余的资源量(1,0,0)已经不能满足任何进程的需要,故系统进入不安全状态。不能实施分配。
【答案解析】