文章

141

粉丝

0

获赞

0

访问

15.1k

头像
2024年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年12月2日 17:40
阅读数 5


评分及理由

(1)得分及理由(满分2分)

学生答案正确指出C1的实现代码是临界区,并给出了合理的解释:如果P1和P2同时检查B为空,可能同时写入,导致数据不一致。这与标准答案的核心观点一致。因此得2分。

(2)得分及理由(满分3分)

学生答案正确使用了两个信号量empty和full来实现同步,并正确设置了初值(empty=1, full=0)。其代码逻辑清晰:P1先等待缓冲区空(wait(empty)),执行C1后通知缓冲区满(signal(full));P2先等待缓冲区满(wait(full)),执行C2后通知缓冲区空(signal(empty))。该方案与标准答案(使用mutex和full)在思路上不同,但完全正确且满足题目要求(使用尽可能少的信号量,实现了同步)。因此得3分。

(3)得分及理由(满分3分)

学生答案正确识别出C3操作需要互斥,并定义了一个互斥信号量mutex,初值为1。其代码逻辑正确:P1和P2在执行C3前都需要wait(mutex),执行后signal(mutex)。这与标准答案完全一致。因此得3分。

题目总分:2+3+3=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发