单选题 假设具有5个进程的进程集合P={P0,P1,P2,P3,P4},系统中有三类资源A、B、C,假设在某时刻有如下状态,见表2-20。

表2-20 进程状态

Allocation

Max

Available

A B C

A B C

A B C

P0

0 0 3

0 0 4

x y z

P1

1 0 0

1 7 5

P2

1 3 5

2 3 5

P3

0 0 2

0 6 4

P4

0 0 1

0 6 5

请问当x、y、z取下列哪些值时,系统是处于安全状态的?
Ⅰ.1,4,0 Ⅱ.0,6,2
Ⅲ.1,1,1 Ⅳ.0,4,7
  • A.Ⅱ、Ⅲ
  • B.Ⅰ、Ⅱ
  • C.只有Ⅰ
  • D.Ⅰ、Ⅲ
【正确答案】 C
【答案解析】Need=Max-Allocation ={004,175,235,064,065}-{003,100,135,002,001} ={001,075,100,062,064} Ⅰ:根据need矩阵可知,当Available为(1,4,0),可满足P2的需求;P2结束后释放资源,Available为(2,7,5)可以满足P0、P1、P3、P4中任一进程的需求,所以系统不会出现死锁,处于安全状态。 Ⅱ:当Available为(0,6,2),可以满足进程P0、P3的需求;这两个进程结束后释放资源,Available为(0,6,7),仅可以满足进程4的需求;P4结束释放后,Available为(0,6,8),此时不能满足余下任一进程的需求,系统出现死锁,故当前处在非安全状态。 Ⅲ:当Available为(1,1,1),可以满足进程P0、P2的需求;这两个进程结束后释放资源,Available为(2,3,8),此时不能满足余下任一进程的需求,系统出现死锁,处于非安全状态。 Ⅳ:当Available为(0,4,7),可以满足P0的需求,进程结束后释放资源,Available为(0,4,11),此时不能满足余下任一进程的需求,系统出现死锁,处于非安全状态。 综上[分析]只有Ⅰ处于安全状态。