【正确答案】
C
【答案解析】[解析] 本题主要考查银行家算法,是考试中的一个重要考点。
所谓安全状态,是指系统能按某种进程顺序(P1,P2,…,Pn)为每个进程Pi分配其所需资源,直到满足每个进程对资源的最大需求,使每个进程都可以顺利完成。如果无法找到这样的一个安全序列,则称系统处于不安全状态。
本题已经给出序列,只需将4个选项按其顺序执行一遍,便可以判断出现死锁的三个序列。
首先求剩下的资源数:
R1=9-(1+2+2+1+1)=2
R2=8-(2+1+1+2+1)=1
R3=5-(1+1+3)=0
由于R3已分配的资源为0,系统不能再分配R3资源,所以不能一开始就运行需要分配R3资源的进程。所以,A和D显然是不安全的。
其次,求序列P2→P4→P5→P1→P3是否安全。进程运行分析如表1所示。
表1
[*]
显然,该序列是安全的。
最后,求序列P2→P4→P5→P1→P3是否安全。进程运行分析如表2所示。
表2
[*]
这时,发现进程P1需要R1资源为5,我们能提供的R1资源为4,所以序列无法进行下去,为不安全序列。