问题 单项选择题

设系统中有R类资源m个,现有,n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况, (22) 两种情况可能会发生死锁。对于这两种情况,若将 (23) ,则不会发生死锁。

(23)处填()。

A.n加1 或w加1

B.m加1 或w减1

C.m减1 或w加1

D.m减1 或w减1

答案

参考答案:B

解析:

[要点解析] 对于a,有R类资源2个,只有1个进程,它需要2个该类资源即可完成,故不会发生死锁。对于b,考虑最坏的情况,R类资源有2个,2个进程各分得1个R类资源,能顺利做完,不会发生死锁。对于c,同样考虑最坏的情况,2个进程各分得1个R类资源,由于该2个进程需要2个该类资源才能做完,并且已经没有多余的R类资源,故发生死锁。对于d,考虑最坏的情况,R类资源有4个,3个进程各分得1个R类资源,剩下的1个资源任意分配各3个进程中的1个,使其顺利做完,然后释放该进程所占用的资源,使其他进程也能顺利做完,故不会发生死锁。对于e,考虑最坏情况,同样3个进程各分得1个资源,剩下1个资源分配给任意1个进程都不能使其做完,因为进程做完需要3个该类资源,故会发生死锁。

在第22题分析的基础上,对于c和e,资源数加1或者进程做完所需的最大资源数减1都能使其顺利完成,不会发生死锁。

选择题
单项选择题