问答题 某系统有R1、R2和R3共3种资源,在T0时刻,P1、P2、P3和P4这4个进程对资源的占有和需求情况如表2-10所示,此刻系统可用资源向量为(2,1,2),问题:

问答题 将系统资源总数和此刻各进程对资源的需求数目用向量、矩阵表示出来;
【正确答案】系统资源总数为:(9,3,6)
各进程对资源需求矩阵为:
[*]
【答案解析】
问答题 如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保持系统安全性,应该如何分配资源给这两个进程?说明所采用的原因;
【正确答案】采用银行家算法进行计算分析可知:
系统可以满足P2进程对资源的请求,将资源分配给P2之后,至少可以找到一个安全的执行序列,如(P2,P1,P3,P4),使各进程正常运行终结。
系统不可以将资源分配给进程P1,虽然可利用资源还可以满足进程P1对R1和R3的要求,但是一旦分配给进程P1后,就找不到一个安全的执行序列保证各进程能够正常运行终结。所以进程P1应该进入阻塞状态。
【答案解析】
问答题 的两个请求立刻得到满足,系统此刻是否处于死锁状态?

表2-10 T0时刻p1、p2、p3、p4进程对资源的占有和需求情况表

进程
最大资源需求量
已分配的资源数量
R1
R2
R3
R1
R2
R3
P1
3
2
2
1
0
0
P2
6
1
3
4
1
1
P3
3
1
4
2
1
1
P4
4
2
2
0
0
2
【正确答案】系统满足进程P1和P2的请求后,并没有立即进入死锁状态,因为这时所有进程没有提出新的资源申请,全部进程因没有资源得到满足而进入阻塞状态。只有进程提出资源申请且全部都进入阻塞状态,系统才处于死锁状态。
【答案解析】