文章

6

粉丝

93

获赞

0

访问

233

头像
2025 年 6 月第 1 次 408 月考试卷 - 第45题回答
操作系统
发布于2025年8月28日 16:47
阅读数 35


评分及理由

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

学生作答的伪代码中,P1和P2的生产者进程在生产产品前先执行了P(emptyA)或P(emptyB),这会导致死锁或逻辑错误,因为生产操作应在获取空位信号量之前进行(否则如果空位不足,进程会阻塞在生产之前,但实际生产操作尚未发生,浪费资源)。标准答案中,生产操作在P(emptyA)或P(emptyB)之前。类似地,消费者C1和C2的消费操作应在V(emptyA)或V(emptyB)之后,但学生代码中缺少消费操作(只有取产品,没有消费),这属于逻辑错误。此外,循环条件应为生产或消费3次,但学生使用了while(1),这会导致无限循环,不符合题意。因此,扣分严重。但考虑到识别可能误写(如生产操作位置),且核心同步操作(P/V顺序)基本正确(除了生产/消费动作位置),给予部分分数。得分:2分(扣3分:生产操作位置错误扣1分,缺少消费操作扣1分,循环条件错误扣1分)。

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

学生未提供第(2)问的答案,因此得0分。

题目总分:2+0=2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发