某系统有同类资源m个,被n个进程共享,当M>N和 M<=N时候,每个进程最多请求多少个这类资源,一定不会死锁
答案:1 悬赏:0
解决时间 2021-02-18 08:53
- 提问者网友:暗中人
- 2021-02-17 21:44
某系统有同类资源m个,被n个进程共享,当M>N和 M<=N时候,每个进程最多请求多少个这类资源,一定不会死锁
最佳答案
- 二级知识专家网友:摆渡翁
- 2021-02-17 22:16
例如11个同类资源被5个进程共享,每个进程最多可以请求多3个资源才能保证系统不会发生死锁。
因为如每个进程都已分配到2个资源,系统还剩下一个资源,就能保证某一个进程能分配到全部3个资源,并能运行到底,最终释放这3个资源。
当m>n时,设一个进程最多可以请求多x个资源,故当
m > n * (x-1)
时,系统不会发生死锁。
于是:
x – 1 < m / n
x < m / n +1
当 m 能被n除尽时,x = m / n
当 m 不能被n除尽时,x = trunc (m / n) +1
当m=n时,每个进程最多可以请求1个资源。
当m < n时,每个进程也最多可以请求1个资源。
因为如每个进程都已分配到2个资源,系统还剩下一个资源,就能保证某一个进程能分配到全部3个资源,并能运行到底,最终释放这3个资源。
当m>n时,设一个进程最多可以请求多x个资源,故当
m > n * (x-1)
时,系统不会发生死锁。
于是:
x – 1 < m / n
x < m / n +1
当 m 能被n除尽时,x = m / n
当 m 不能被n除尽时,x = trunc (m / n) +1
当m=n时,每个进程最多可以请求1个资源。
当m < n时,每个进程也最多可以请求1个资源。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯