设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的①~⑤五种情况,(1)两种情况可能会发生死锁。对于这两种情况,若将(2),则不会发生死锁。
①②③④⑤
m 2 2 2 4 4
n 1 2 2 3 3
w 2 1 2 2 3
空白(1)处应选择()
A.①②⑤
B.③④⑤
C.②④⑤
D.②④⑥
参考答案:C
解析:
本题考查操作系统进程管理方面的基础知识。试题1的正确答案是C。
分析如下:
情况①不会发生死锁:已知系统资源R的数目等于3,进程数等于2,每个进程对R资源的最大需求为2。若系统为2个进程各分配1个资源,系统可供分配的剩余资源数等于1,则可以保证1个进程得到所需资源运行完毕。当该进程释放资源后又能保证另一个进程运行完毕,故系统不会发生死锁。
情况②会发生死锁:已知系统资源R的数目等于3,进程数等于3,每个进程对R资源的最大需求为2。若系统为3个进程各分配1个资源,系统可供分配的剩余资源数等于0,则无法保证进程得到所需资源运行完毕,故系统会发生死锁。
情况③不会发生死锁:已知系统资源R的数目等于5,进程数等于2,每个进程对R资源的最大需求为3。若系统为2个进程各分配2个资源,系统可供分配的剩余资源数等于1,则可以保证1个进程得到所需资源运行完毕。当该进程释放资源后又能保证另一个进程运行完毕,故系统不会发生死锁。
情况④会发生死锁:已知系统资源R的数目等于5,进程数等于3,每个进程对R资源的最大需求为3。若系统为3个进程分别分配2、2和1个资源,系统可供分配的剩余资源数等于0,则无法保证进程得到所需资源运行完毕,故系统会发生死锁。
情况⑤会发生死锁:已知系统资源R的数目等于6,进程数等于3,每个进程对R资源的最大需求为3。若系统为3个进程各分配2个资源,系统可供分配的剩余资源数等于0,则无法保证进程得到所需资源运行完毕,故系统会发生死锁。
情况⑥不会发生死锁:已知系统资源R的数目等于6,进程数等于4,每个进程对R资源的最大需求为2。若系统为4个进程各分配1个资源,系统可供分配的剩余资源数等于2,则可以保证2个进程得到所需资源运行完毕。当该进程释放资源后又能保证剩余2个进程运行完毕,故系统不会发生死锁。
试题2的正确答案是D。
分析如下:
情况②:若将m加1等于4时,系统为3个进程各分配1个资源,系统可供分配的剩余资源数等于1,则可以保证1个进程得到所需资源运行完毕。当该进程释放资源后又能保证另一个进程运行完毕,故系统不会发生死锁。
情况④:若将m加2等于7时,系统为3个进程各分配2个资源,系统可供分配的剩余资源数等于1,则可以保证1个进程得到所需资源运行完毕。当该进程释放资源后又能保证另两个进程运行完毕,故系统不会发生死锁。
情况⑤:若将m加1等于7时,系统为3个进程各分配2个资源,系统可供分配的剩余资源数等于1,则可以保证1个进程得到所需资源运行完毕。当该进程释放资源后又能保证另两个进程运行完毕,故系统不会发生死锁。