刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

假设有5个进程共享一个互斥段X,如果最多允许2个进程同时进入互斥段X,则信号量S的变化范围是(请作答此空 );若信号量S的当前值为-3,则表示系统中有( )个正在等待该资源的进程。

A
-5~1
B
-1~3
C
-3~2
D
0~5
使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

本题考查操作系统进程管理同步与互斥的知识点。针对题目描述的情景,我们需要考虑5个进程共享一个互斥段X,并且最多只允许2个进程同时进入互斥段X。

信号量S用于控制进入互斥段X的进程数量。当信号量的值为正数时,表示有多少个进程可以进入互斥段X;当信号量的值为负数时,其绝对值表示有多少个进程正在等待进入互斥段X。

考虑到最多2个进程可以进入互斥段X,信号量S的初值应设为2。假设5个进程依次进入X,我们可以追踪信号量S的变化:

  1. 第一个进程进入X,信号量S减1,变为1。
  2. 第二个进程进入X,信号量S再减1,变为0。
  3. 第三个进程尝试进入X,但发现信号量为0,表示互斥段X已满,因此该进程需要等待。此时,信号量S减1变为-1。
  4. 第四个进程同样因为互斥段X已满而等待,信号量S变为-2。
  5. 第五个进程同样等待,信号量S变为-3。

因此,信号量的变化范围是-3到初始值2。对于信号量S的当前值为-3的情况,表示有3个进程正在等待进入互斥段X。所以,答案为C,-3~2;对于第二个空,答案为3个进程正在等待该资源。

创作类型:
原创

本文链接:假设有5个进程共享一个互斥段X,如果最多允许2个进程同时进入互斥段X,则信号量S的变化范围是(请作答

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share