N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,且所有进程资源需求总和小于M+N,请证明该系统此时不会发生死锁。
第1题:
一个操作系统有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,即它已获得了所需要的全部资源。既然该进程已获得了它所需要的全部资源,那么它就能执行完成并释放它占有的资源,这与前面的假设矛盾,从而证明在这个系统中不可能发生死锁。
略
第2题:
某系统有同类资源m个供n个进程共享,如果每个进程最多申请k个资源(1≤k≤m),为保证系统不发生死锁,则各进程的最大需求量之和应()
第3题:
假设系统由相同类型的7个资源被3个进程共享,若要使系统不会死锁,每个进程最多可以申请的资源个数是()
第4题:
若某系统有某类资源5个供若干进程共享,不会引起死锁的情况是()
第5题:
假设三个进程共享四个资源,每个进程一次只能预定或释放一个资源,每个进程最多需要两个资源,试证明这样做不会发生死锁。
第6题:
考虑由n个进程共享的具有m个同类资源的系统,证明:如果对i=1,2,…,n,有Need>0而且所有最大需求量之和小于m+n,那么该系统是死锁无关的。
第7题:
第8题:
有6个进程,每个进程需1个资源
有5个进程,每个进程需2个资源
有4个进程,每个进程需3个资源
有3个进程,每个进程需4个资源
第9题:
第10题:
第11题:
1
2
3
4
第12题:
为m
为m+n
小于m+n
大于m+n
第13题:
一个系统中存在某类资源m个,被n个进程共享。资源的分配和释放必须一个一个进行,请证明在以下两个条件下不会发生死锁: 每个进程需要资源的最大数在1~m之间; 所有进程需要的资源总数小于m+n;
略
第14题:
N个进程共享M个资源,每个进程一次只能申请/释放一个资源,每个进程最多需要M个资源,所有进程总共的资源需求少于M+N个,证明该系统此时不会产生死锁。
第15题:
系统中有3个进程,4个相同类型的资源,每个进程最多需要2个资源,该系统是否回发生死锁?为什么?
第16题:
若系统有某类资源10个供若干进程共享,下列可能引起死锁的情况是()
第17题:
系统有同类资源m个,被n个进程共享,问:当m>n和m≤n时,每个进程最多可以请求多少个这类资源时,使系统一定不会发生死锁?
第18题:
若有4个并发进程共享某类资源,且每个进程需要3个此类资源,则使该系统不会发生死锁的最少资源数是()。
第19题:
第20题:
有2个进程,每个进程需3个资源
有3个进程,每个进程需3个资源
有4个进程,每个进程需3个资源
有5个进程,每个进程需3个资源
第21题:
2
3
4
5
6
第22题:
第23题:
6
7
8
9
第24题: