设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源

admin2022-08-02  34

问题 设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况,(  )两种情况可能会发生死锁。对于这两种情况,若将(  ),则不会发生死锁。问题1 A.a和b B.b和c C.c和d D.c和e问题2 A.n加1 或w加1 B.m加1 或w减1 C.m减1 或w加1 D.m减1 或w减1

选项

答案 DB

解析 本题考查对操作系统死锁方面基本知识掌握的程度。系统中同类资源分配不当会引起死锁。一般情况下,若系统中有m个单位的存储器资源,它被n个进程使用,当每个进程都要求w个单位的存储器资源,当m<nw时,可能会引起死锁。  情况a:m=2,n= 1,w=2,系统中有2个资源,1个进程使用,该进程最多要求2个资源,所以不会发生死锁。  情况b:m=2,n=2,w=1,系统中有2个资源,2个进程使用,每个进程最多要求1个资源,所以不会发生死锁。  情况c:m=2,n=2,w=2,系统中有2个资源,2个进程使用,每个进程最多要求2个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配1个,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态导致系统发生死锁,这时进程资源图如下图所示。情况d:m=4,n=3,w=2,系统中有4个资源,3个进程使用,每个进程最多要求2个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配1个资源,此时,系统中还剩1个资源,可以使其中的一个进程得到所需资源运行完毕,所以不会发生死锁。  情况e:m=4,n=3,w=3,系统中有4个资源,3个进程使用,每个进程最多要求3个资源,此时,采用的分配策略是轮流地为每个进程分配,则第一轮系统先为每个进程分配1个,第二轮系统先为一个进程分配1个,此时,系统中已无可供分配的资源,使得各个进程都处于等待状态导致系统发生列锁,这时进程资源图如下图所示。因此,情况c和e可能会发生死锁。   第二空发分析如下:       对于c情况,若将m加1,则情况c:m=3,n=2,w=2,系统中有3个资源,2个进程使用,每个进程最多要求2个资源,系统先为每个进程分配1个,此时,系统中还剩1个可供分配的资源,使得其中的一个进程能得到所需资源执行完,并释放所有资源使另一个进程运行完;若将w减1,则情况c:m=2,n=2,w=1,系统中有2个资源,2个进程使用,每个进程最多要求1个资源,系统为每个进程分配1个,此时进程都能够运行完成,并释放所有资源,不会发生死锁。对于情况e并没有正确的选项符合要求,只有B选项最贴近正确答案。        因此,当m加1或w减1时,c和e不会发生死锁。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2410669.html

最新回复(0)