文章

41

粉丝

0

获赞

0

访问

299

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


评分及理由

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

学生答案正确指出C1的代码是临界区,并给出了正确理由(写操作需要互斥)。与标准答案核心思想一致。
得分:2分。

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

学生答案存在逻辑错误。题目要求“B为空时才能执行C1”,因此P1执行C1前需要等待B为空。学生定义的信号量empty_B初值为0,并在P1执行C1后才signal(empty_B),这会导致:若B初始为空,P2会因wait(empty_B)而阻塞,但P1可以立即执行C1,这符合“B为空执行C1”的要求。然而,学生的方案缺少了对缓冲区B的互斥保护。C1和C2可能同时访问B,导致数据不一致。标准答案使用了互斥信号量mutex来保护临界区。因此,学生的答案因缺少必要的互斥机制而存在逻辑不完整。
扣分:缺少互斥保护,扣1分。
得分:2分。

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

学生答案正确。对于C3操作(修改数据),需要互斥访问缓冲区B。学生定义了一个互斥信号量mutex,初值为1,并在P1和P2的C3操作前后正确使用了waitsignal操作。思路与标准答案完全一致。
得分:3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发