系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取表3.4中的值时,对于表中的①~⑥种情况,______(7)可能会发生死锁。若将这些情况的m分别加上______(8),则系统不会发生死锁。 (7)

admin2019-06-12  37

问题 系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取表3.4中的值时,对于表中的①~⑥种情况,______(7)可能会发生死锁。若将这些情况的m分别加上______(8),则系统不会发生死锁。

(7)

选项 A、①②⑤
B、③④⑤
C、②④⑤
D、②④⑥

答案C

解析 对于第①种情况,资源数为3,在最坏的情况下,2个进程对R资源的需求都为2,其中有一个进程占用2个R资源,另一个进程占用1个R资源,占用2个R资源的进程运行完,释放资源,另一个便会获得所需的资源,不会出现死锁。
    对于第②种情况,资源数为3,在最坏的情况下,3个进程对R资源的需求都为2,每个进程都占用1个R资源,发生死锁。
    对于第③种情况,资源数为5,在最坏的情况下,2个进程对R资源的需求都为3,其中有一个进程占用3个R资源,另一个进程占用2个R资源,不会出现死锁。
    对于第④种情况,资源数为5,在最坏的情况下,3个进程对R资源的需求都为3,如果3个进程占用的资源数分别为2、2、1,就会出现死锁。
    对于第⑤种情况,资源数为6,在最坏的情况下,3个进程对R资源的需求都为3,如果3个进程占用的资源数都为2,就会出现死锁。
    对于第⑥种情况,资源数为6,在最坏的情况下,4个进程对R资源的需求都为2,其中有两个进程占用2个资源,另两个进程占用1个资源,不会出现死锁。
    总结一下,可以发现,当n×w-m>n时,系统就不会发生死锁。因此,对于第②、⑤种情况,只要m的资源加1,系统就不会发生死锁;对于第④种情况,只要m资源加2,系统就不会发生死锁。
转载请注明原文地址:https://jikaoti.com/ti/27f7FFFM
0

最新回复(0)