主观题:h517.某系统有A,B,C三类资源(数量分别为17,5,20)和P1~P5五个进程,在T0时刻系统状态如下表所示:
某系统有A,B,C三类资源(数量分别为17,5,20)和P1~P5五个进程,在T0时刻系统状态如下表所示:


系统采用银行家算法实施死锁避免策略,请回答下列问题:
①T0时刻是否为安全状态?若是,请给出安全序列。
②在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?
③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?
答案:解:
① 由已知条件可得尚需矩阵Need和可用资源向量Avalable如下:
Need Avalable
A B C A B C
P1 3 4 7 2 3 3
P2 1 3 4
P3 0 0 6
P4 2 2 1
P5 1 1 0
利用银行家算法对此时刻的资源分配情况进行分析如下表: (4分)

从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。
② 在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。因为当前C类资源剩余3个而P2请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。 (3分)
③ 在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。因为由①可知,P4是安全序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。 (3分)


系统采用银行家算法实施死锁避免策略,请回答下列问题:
①T0时刻是否为安全状态?若是,请给出安全序列。
②在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么?
③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么?
答案:解:
① 由已知条件可得尚需矩阵Need和可用资源向量Avalable如下:
Need Avalable
A B C A B C
P1 3 4 7 2 3 3
P2 1 3 4
P3 0 0 6
P4 2 2 1
P5 1 1 0
利用银行家算法对此时刻的资源分配情况进行分析如下表: (4分)

从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。
② 在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。因为当前C类资源剩余3个而P2请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。 (3分)
③ 在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。因为由①可知,P4是安全序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。 (3分)