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