文章

13

粉丝

0

获赞

0

访问

397

头像
2009年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月30日 17:51
阅读数 20


评分及理由

(1)信号量定义(满分1分)

得分:1分

理由:学生定义了四个信号量,与标准答案一致。full对应empty(虽然命名不同但功能相同,都是控制缓冲区空单元),mutex用于互斥,odd和even用于同步。信号量含义说明清晰。

(2)P1进程实现(满分2分)

得分:2分

理由:P1进程逻辑正确,先检查缓冲区空间(P(full)),再获取互斥锁(P(mutex)),生成数据并放入缓冲区后,根据奇偶性释放对应信号量,最后释放互斥锁。与标准答案逻辑一致。

(3)P2进程实现(满分2分)

得分:1分

理由:存在一处逻辑错误。在取出奇数后,应该先释放互斥锁(V(mutex)),再增加缓冲区空单元(V(full)),最后进行统计操作。学生的代码将countodd()放在V(full)和V(mutex)之前,这会影响并发效率,虽然不会导致死锁,但不符合典型的生产者-消费者模式的最佳实践。

(4)P3进程实现(满分2分)

得分:1分

理由:存在与P2相同的逻辑错误。在取出偶数后,应该先释放互斥锁,再增加缓冲区空单元,最后进行统计操作。学生的代码将counteven()放在V(full)和V(mutex)之前,同样影响了并发效率。

题目总分:1+2+1+1=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发