单选题 设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取表中的值时,对于下表中的a~e五种情况,______两种情况可能会发生死锁。对于这两种情况,若将______,则不会发生死锁。
a b c d e
m 2 2 2 4 4
n 1 2 2 3 3
w 2 1 2 2 3
【正确答案】 D
【答案解析】
【正确答案】 B
【答案解析】[解析] 第1小题,对于a,有R类资源2个,只有1个进程,它需要2个该类资源即可完成。故不会发生死锁。对于b,考虑最坏的情况,R类资源有2个,两个进程各分得1个R类资源,能顺利做完。不会发生死锁。对于c,同样考虑最坏的情况,两个进程各分得1个R类资源,由于这两个进程需要2个该类资源才能做完,并且已经没有多余的R类资源,故发生死锁。对于d,考虑最坏的情况,R类资源有4个,三个进程各分得1个R类资源,剩下的1个资源任意分配各三个进程中的一个,使其顺利做完,然后释放该进程手中的资源,使其他进程也能顺利做完。故不会发生死锁。对于e,考虑最坏情况,同样三个进程各分得1个资源,剩下一个资源分配给任意一个进程都不能使其做完,因为进程做完需要三个该类资源。故会发生死锁。
第2小题,在第1小题分析的基础上,对于c和e,资源数加1或者进程做完所需的最大资源数减1都能使其顺利完成,不会发生死锁。