假设系统有6个进程共享一个互斥段,如果最多允许3个进程同时进入互斥段,则信号量S的初值为( ),信号量S的变化范围是(请作答此空)。

2023-09-01

A.0~6
B.-3~3
C.-4~2
D.-5~1

参考答案:B

本题考查操作系统进程管理中信号量与同步互斥方面的基础知识。
本题中已知有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。

相关推荐