设有几个进程共享一互斥段,对于以下两种情况
1个回答
展开全部
1 )互斥信号量初值为 1 ,变化范围为[ -n + l , 1 ]。
当没有进程进入互斥段时,信号量值为 1 ;当有 1 个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 0 ;当有 1 个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1 ;最多可能有 n -1 个进程等待进入互斥段,故此时信号量的值应为 - ( n - 1 )也就是 -n+1。
2 )互斥信号量初值为 m ,变化范围为[ -n + m , m ]。
当没有进程进入互斥段时,信号量值为 m ;当有 1 个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 m - 1 :当有 m 个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为 0 :当有 m 个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为 - 1 ;最多可能有 n - m 个进程等待进入互斥段,故此时信号量的值应为 -(n-m) 也就是 -n+m.
当没有进程进入互斥段时,信号量值为 1 ;当有 1 个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 0 ;当有 1 个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为-1 ;最多可能有 n -1 个进程等待进入互斥段,故此时信号量的值应为 - ( n - 1 )也就是 -n+1。
2 )互斥信号量初值为 m ,变化范围为[ -n + m , m ]。
当没有进程进入互斥段时,信号量值为 m ;当有 1 个进程进入互斥段但没有进程等待进入互斥段时,信号量值为 m - 1 :当有 m 个进程进入互斥段且没有一个进程等待进入互斥段时,信号量值为 0 :当有 m 个进程进入互斥段且有一个进程等待进入互斥段时,信号量值为 - 1 ;最多可能有 n - m 个进程等待进入互斥段,故此时信号量的值应为 -(n-m) 也就是 -n+m.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询