早教吧 育儿知识 作业答案 考试题库 百科 知识分享

某系统有同类资源m个,被n个进程共享,当M>N和M

题目详情
某系统有同类资源m个,被n个进程共享,当M>N和 M<=N时候,每个进程最多请求多少个这类资源,一定不会死锁
麻烦高手指点。谢谢:)
我自己想过一个答案 抽象数字不会做就用 6和2 代入 也就是说当 M》N时候是 M/N个 (6/2=3),M
▼优质解答
答案和解析
例如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个资源。