单选题 若系统中有同类资源16个,由4个进程P1、P2、P3和P4共享该资源。已知P1、P2、P3和P4所需的资源总数分别为8、5、9和6。各进程请求资源的次序见表2-2,若系统采用银行家算法为它们分配资源,那么第{{U}} (24) {{/U}}次申请分配会使系统进入死锁状态。

{{B}}表2-2 各进程请求资源的情况表{{/B}}

{{B}}序号{{/B}}
{{B}}进程{{/B}}
{{B}}申请量{{/B}}
P3 5
P2 4
P1 6
P4 1
P1 1
P2 1

【正确答案】 C
【答案解析】
[要点解析] 操作系统分配资源时的一个重要考虑是避免死锁的发生。若系统采用银行家算法为4个进程P1、P2、P3和P4分配资源,那么各进程请求资源后的系统状态如表2-10所示。

{{B}}表2-10 各进程请求资源后的系统状态表{{/B}}

{{B}}序号{{/B}}
{{B}}进程{{/B}}
{{B}}申请量{{/B}}
{{B}}最大需求量{{/B}}
{{B}}成功申请后还需资源数{{/B}}
{{B}}系统剩余资源数{{/B}}
P3
5
9
4
11
P2
4
5
1
7
P1
6
8
2
1
P4
1
6
如果给予分配,则会使系统进入死锁状态
P1
1
2
如果给予分配,则会使系统进入死锁状态
P2
1
1
0
0

由表2-10的求解过程可知,若系统采用银行家算法为它们分配资源,那么第④或⑤次申请分配会使系统进入死锁状态。