设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取表1-2中的值时,对于表中的a~e五种情况,______两种情况可能会发生死锁。对于这两种情况,若将______,则不会发生死锁。
表1-2 多个进程对资源R的5种使用情况 | |||||
a | b | c | d | e | |
m n w | 2 1 2 | 2 2 1 | 2 2 2 | 4 3 2 | 4 3 3 |
A.n加1或w加1
B.m加1或w减1
C.m减1或w加1
D.m减1或w减1
参考答案:B
解析:
[分析]: 对于情况c,有2个互斥的进程,每个进程对R资源的最大需求为2,而R类资源共2个,当每个进程分别获得了一个资源,每个进程又分别占据着对方所申请的资源时,便会发生死锁。对于这种情况,增加一个资源,或者每个进程减少对R资源的最大需求,都不会发生死锁。
对于情况e,R类资源共4个,有3个进程互斥使用,每个进程对R资源的最大需求为3,当每个进程获得的资源数都小于3时,每个进程都占据着其他进程所申请的资源,此时会发生死锁。