文章

75

粉丝

78

获赞

1

访问

13.8k

头像
2009年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年12月14日 16:56
阅读数 156


评分及理由

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

得分:1分。理由:学生两次识别结果中,第二次识别结果正确定义了四个信号量(odd, even, empty, mutex),含义与标准答案一致。第一次识别中“edd”疑似“odd”的误写,根据“禁止扣分”原则,不扣分。

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

得分:1分。理由:学生答案中P1进程的逻辑存在严重错误。主要问题在于:1. 在将数据放入缓冲区之前就释放了信号量(V(odd)或V(even)),这会导致消费者(P2/P3)可能在数据还未真正放入缓冲区时就尝试取数据,违反了同步原则。2. 缺少了将数据实际放入缓冲区的操作(如标准答案中的Put())。这两点属于核心逻辑错误,因此扣1分。

(3)P2与P3进程实现(满分约4分)

得分:3分。理由:学生答案中P2和P3的框架基本正确,包含了正确的信号量等待顺序(先P(odd)/P(even),再P(mutex))和释放顺序(V(empty), V(mutex))。但是,在取出数据后,缺少了对数据进行统计的操作(如标准答案中的countodd()和counteven())。考虑到统计操作是题目明确要求的功能,此处缺失属于逻辑不完整,因此扣1分。其余部分逻辑正确。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发