查看更多
当前 - 选择题 - 信号量
简单
单选题
2023年5月第41题
#操作系统
#信号量
#第二版教材
#凯恩建议必须掌握

进程P1、P2、P3、P4、P5和P6的前趋图如下所示:

若用PV操作控制这6个进程的同步与互斥的程序如下,那么程序中的空①和空②分别为(问题1); 空③和空④处应分别为(问题2); 空⑤和空⑥处应分别为 (问题3)

正确答案B
凯恩解析

此题考察操作系统信号量的相关概念。
只要会根据位置标出信号量,知道 P 操作是等待,V 操作是释放即可。
问题 1空① 和 空②
P2 所依赖的是 P1 的完成,所以在 P2 执行前要 等待 P1 执行完,即对 S1 做 P(S1) 操作。
P2 执行完后,会启用 P4,所以要释放给 P4 用的信号量,即 V(S3),还要给 P3 使用一个同步条件,即 V(S4)
因此:空①:P(S1) 空②:V(S3); V(S4)
正确答案是:B. P(S1) 和 V(S3) V(S4)

问题 2 空③ 和 空④
看 P3 的控制,前面已经 P(S2)(P1 完成后),接下来是空③。
P3 依赖于 P1 的完成,空③ 无需再等。P3 执行完后,P5 才能执行,所以需要释放信号量用于控制 P5,也就是 V(S5)
因此:空③:不需要额外等待(因为已 P(S2)),空④:V(S5)
不过从选项来看,空③ = P(S3),是为了让 P3 等待 P2 完成(即让 P3 与 P2 同步),因为 P3 的执行在图中确实也和 P2 有联系(都来自 P1),可能控制上用双重同步确保顺序。
所以:空③:P(S3),空④:V(S5)
正确答案是:B. P(S3) 和 V(S5)

问题 3空⑤ 和 空⑥
P5 依赖 P3(通过前面设置的 V(S5))和 P4,所以执行前要等待 P(S5)(来自 P3)和 P(S6)(来自 P4)
执行完后,需要释放信号量用于 P6 执行,即 V(S7)
因此:空⑤:P(S5); P(S6),空⑥:V(S7)
正确答案是:C. P(S5)P(S6) 和 V(S7)

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有