假设系统有6个进程共享一个互斥段,如果最多允许3个进程同时进入互斥段,则信号量S初值为(请作答此空),信号量S变化范围是( )。
- A.0
- B.1
- C.3
- D.6
正确答案及解析
正确答案
C
解析
本题考查操作系统进程管理中信号量与同步互斥方面基础知识。
本题中已知有6个进程共享一个互斥段,而且最多允许3个进程同时进入互斥段,这意味着系统有3个单位资源,所以,信号量初值应设为3。
当第一个申请该资源进程对信号量S执行P操作,信号量S减l等于2,进程可继续执行;当第二个申请该资源进程对信号量S执行P操作,信号量S再减1等于1,进程可继续执行;当第三个申请该资源进程对信号量S执行P操作,信号量S再减1等于0,进程可继续执行;当第四个申请该资源进程对信号量S执行P操作,信号量S再减1等于-1,进程申请资源得不到满足处于等待状态;当第五个申请该资源进程对信号量S执行P操作,信号量S减1等于-2;当第六个申请该资源进程对信号量S执行P操作,信号量S再减1等于-3,进程申请资源得不到满足处于等待状态。所以信号量S变化范围是-3~3。