文章

509

粉丝

0

获赞

1

访问

101.2k

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


评分及理由

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

得分:2分。
理由:学生正确指出C1的代码是临界区,并给出了正确原因(对B的写入需要互斥)。这与标准答案的核心观点一致。

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

得分:3分。
理由:学生定义了empty和full两个信号量,其作用和初值(empty=1, full=0)完全正确,符合“尽可能少的信号量”要求。P1和P2的代码逻辑正确:P1先等待缓冲区空(wait(empty)),执行C1后通知缓冲区有数据(signal(full));P2先等待缓冲区有数据(wait(full)),执行C2后通知缓冲区空(signal(empty))。该方案完美实现了题目要求的同步关系(B为空才能执行C1,B非空才能执行C2),且没有逻辑错误。

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

得分:3分。
理由:学生定义了mutex信号量用于互斥,初值为1,符合“尽可能少的信号量”要求。P1和P2的代码逻辑正确:通过wait(mutex)和signal(mutex)将C3操作包裹起来,确保了同一时刻只有一个进程能修改缓冲区B。这满足了题目中“B非空时才能执行C3”的前提以及互斥修改的要求,没有逻辑错误。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发