题目:某系统中有m个同类资源供n个进程共享,若每个进程最多申请k个资源(k≥1),采用银行家算法分配资源,为保证系统不发生死锁,则各进程的最大需求量之和应()
A.等于m B.等于m+n C.小于m+n D.大于m+n
解析:由题知,各进程的最大需求量之和为nk。
假设有n-1个进程申请到了k-1个资源(都差一个资源即可满足),剩下一个进程申请到了k个资源,此时该进程可以顺利运行,并且运行完毕之后释放资源,剩下n-1个进程皆可运行。
此时,各进程的所持资源总量为n(k-1)+1。若系统所有资源总量m可以满足,那么就能保证系统不发生死锁,即:
n(k-1)+1≤m
化简得:
nk≤m+n-1<m+n
选C。