文章

117

粉丝

160

获赞

0

访问

3.7k

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


评分及理由

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

得分:2分

理由:学生正确指出实现C1的代码是临界区,并给出了正确原因——需要对缓冲区B进行互斥访问以防止数据不一致。与标准答案核心思想一致,因此得满分。

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

得分:2分

理由:学生定义了正确的信号量(empty和full)并设置了正确的初值(empty=1, full=0),这满足了“B为空时才能执行C1,B非空时才能执行C2”的同步要求,思路正确。但是,在P2()函数中使用了`while(1)`循环,这是一个逻辑错误。题目要求“进程P2执行C2一次”,而循环结构会导致P2在完成一次C2后,再次尝试执行C2,这与题意不符。因此扣除1分。

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

得分:3分

理由:学生正确理解了C3操作需要互斥访问缓冲区B。定义了一个信号量(full,作为互斥锁)并设置初值为1,在P1和P2中正确使用P/V操作(即wait/signal)包裹C3操作,确保了互斥。虽然信号量命名为`full`,但其作用与标准答案的`mutex`完全相同,思路正确,实现无误,因此得满分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发