工学

问答题N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。

题目
问答题
N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设系统中有m个同类资源数,n为系统中的并发进程数,当n个进程共享m个互斥资源时,每个进程的最大需求数是w,试问下列情况下系统会死锁的是( )。

A、m=4,n=3,w=2

B、m=2,n=2,w=1

C、m=5,n=2,w=3

D、m=4,n=3,w=3


参考答案:D

第2题:

对于产生死锁的4个必要条件之一的不可抢占条件是( )。

A.每一个资源每次只能给一个进程使用

B.已被占用的资源只能由占用进程自己来释放

C.一个进程申请资源得不到满足时处于等待资源的状态且不释放已占资源

D.存在一个进程环路,其中每一个进程已获得的资源同时被下一个进程所请求


正确答案:B
解析:死锁的4个必要条件中,不剥夺条件(不可抢占)是指进程所获得的资源在未使用完毕之前,不能被其他进程强行剥夺,而只能由获得该资源的进程自己释放。

第3题:

假设系统中有m个同类的互斥资源,当m个进程共享这,n个互斥资源时,每个进程的最大需求数是wo在下列情况中,系统可能会产生死锁的是______。

A.m=4,n=3,w=2

B.m=4,n=2,w=3

C.m=5,n=2,w=3

D.m=5,n=3,w=2


正确答案:B
解析:这是一道很简单的估算题。首先给每个进程1个资源,然后再给每个进程1个资源(如果有的话),依次类推。到某个阶段,如果没有1个进程的资源得到满足,且系统已经没有可用资源,则会发生死锁。显然,选项B中,首先给2个进程分别分配1个资源(这时系统还剩下2个资源),接着再分别为每个进程分配1个资源(这时系统还剩下。个资源),但这2个进程的资源都没有完全满足,不能运行,即发生死锁。

第4题:

一个操作系统有20个进程,竞争使用30个同类资源,申请方式是逐个进行,一旦某个进程获得了它的全部资源,就马上归还所有的资源,每个进程最多使用30,最少使用一个资源。20个进程需要的资源总数小于50。如果仅考虑这类资源,系统会产生死锁吗?请说明理由。
设max(i)表示第i个进程的最大资源需求量,
need(i)表示第i个进程还需要的资源量,
alloc(i)表示第i个进程已分配的资源量。
由题中所给条件可知:
max(1)+…+max(20)=(need(1)+…need(20))+(alloc(1)+…+alloc(20))<50
如果在这个系统中发生了死锁,那么一方面30个资源R应该全部分配出去,即(反证法)alloc(1)+…+alloc(20)=30
另一方面所有进程将陷入无限等待状态。
由上述两式可得:need(1)+…+need(20)<20(关键)
上式表示死锁发生后,20个进程还需要的资源量之和小于20,这意味着此刻至少存在一个进程i,need(i)=0,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。

第5题:

假设系统由相同类型的7个资源被3个进程共享,若要使系统不会死锁,每个进程最多可以申请的资源个数是

A.1

B.2

C.3

D.4


正确答案:C

第6题:

对于产生死锁的4个必要条件之一的循环等待资源是( )。

A.每一个资源每次只能给一个进程使用

B.已被占用的资源只能由占用进程自己来释放

C.一个进程申请资源得不到满足时处于等待资源的状态且不释放已占资源

D.存在一个进程环路,其中每一个进程已获得的资源同时被下一个进程所请求


正确答案:D
解析:出现死锁时必须同时保持4个必要条件:进程互斥使用资源、占有等待资源、不可抢占和循环等待资源,其中循环等待资源是指存在一个进程环路,其中每一个进程已获得的资源同时被下一个进程所请求。

第7题:

某操作系统有T个同类资源。现有两个进程P1和P2分别需要申请M和N个这类资源,M+N>>T,M<T且N<T。规定:进程只能在运行过程中逐个地申请并得到资源,只有在得到所有资源后才会立即释放所有资源,在没有达到所需要的资源总数时不会释放资源。令进程P1和P2在某一时刻拥有的资源数量分别为m和n个,那么,只有在(26)时,系统是安全的。

A.M+N<T

B.M+N≤T

C.(x<(T-N))∩(y<N)∪((T-M)≤x<M)∩(y<(T-M))∪(x=(T-N)∩(y=(T-M))

D.(0≤x<(T-N))∪(x<(T-M))


正确答案:C
解析:本题考查的是死锁的银行算法及其应用方面的知识。通常,在发生死锁之前,系统可以分为3种状态:安全状态、临界状态和不安全状态。所谓安全状态是指此时只要根据系统制定的资源分配粒度,只要资源可供分配,不管如何分配都不会最后导致系统死锁;所谓临界状态是安全状态与不安全状态之间的过渡状态,此时必须对资源的分配强制实行某些策略,实行某种意义上的定向分配策略,对某些用户即使资源可供分配也不能分配;不安全状态则是死锁的前奏,它是一种不可逆状态,死锁是它的必然归宿。在这3种状态之间,安全状态可以进入临界状态,临界状态可以进入不安全状态。银行算法要求系统实现知道每个进程所需要的每类资源的总需要量,而且规定资源只能逐个申请并获得。只有在某类资源全部得到后,进程才一起将它们释放。本题是单类资源的死锁问题。上图可以比较直观地说明问题。图中黑点代表当前两个进程的资源获得情况,黑点的横坐标代表当前分配给进程的P1资源数量m,纵坐标代表当前分配给进程P2的资源数量n。由于进程在资源没有全部得到之前不会释放,黑点的移动只能是上移或右移,而且将不可能移出斜线x+y=T到达绿色区域的右上部(因为系统拥有的资源总数为T)。而且由于进程需要的资源总量是确定的,黑点将只能在黄色部分和绿色矩形的左下半部分内单调向上或向右移动。而且,由于进程一旦得到全部资源将立即释放,所以黑点不可能停留在黄色区域的上边线和右边线。这样,当黑点处于黄色区域(含黄、绿区域交界线的交点)时,系统处于安全状态;黑点处于黄色区域和绿色区域的交界线时,系统处于临界状态;黑点处于绿色区域时,系统处于不安全状态。显然,x,y均不小于0时隐含的。黄色区域的条件是:(x(T-N))∩(yN)∪((T-M)≤xM)∩(y(T-M)))黄、绿区域交界线的交点的条件是:x=(T-N)∩y=(T-M)于是,安全区域的条件为:(x(T-N))∩(yN)∪((T-M)≤xM)∩(Y(T-M))≤(x=(T-N)∩(y=(T-M))正确答案应是C。

第8题:

若系统中有若干进程共享5个R类资源,下列哪一种情况不可能发生死锁?( )

A) 系统中有6个进程,每个进程需要1个资源

B) 系统中有5个进程,每个进程需要2个资源

C) 系统中有4个进程,每个进程需要3个资源

D) 系统中有3个进程,每个进程需要4个资源

A.

B.

C.

D.


正确答案:A

第9题:

设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况出现系统死锁的是( )。

A.m=2,n=1,w=2
B.m=2,n=2,w=1
C.m=4,n=3,w=2
D.m=4,n=2,w=3

答案:D
解析:
当资源总数为4,并发进程为2,每个进程的最大需求是3的时候。可能出现2个进程,占用了2个资源的情况,此时,因为总资源数消耗完毕,任何一个进程又无法申请新资源,导致死锁。

第10题:

一个系统中存在某类资源m个,被n个进程共享。资源的分配和释放必须一个一个进行,请证明在以下两个条件下不会发生死锁: 每个进程需要资源的最大数在1~m之间; 所有进程需要的资源总数小于m+n;

更多相关问题