多做题,通过考试没问题!

操作系统(CH1)

睦霖题库>大学试题(计算机科学)>操作系统(CH1)

设有n个进程共享一个互斥段,如果:  (1)每次只允许一个进程进入互斥段;  (2)每次最多允许m个进程(m≤n)同时进入互斥段。  试问:所采用的信号量初值是否相同?信号量值的变化范围如何?

正确答案: 所采用的互斥信号量初值不同。
1)互斥信号量初值为1,变化范围为 [-n+1 ,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。
答案解析:
进入题库查看解析

微信扫一扫手机做题