文章

7

粉丝

0

获赞

0

访问

733

头像
2009年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2026年8月26日 16:24
阅读数 83


评分及理由

得分及理由(满分7分)

学生的答案与标准答案的核心逻辑完全一致:

1. 信号量定义正确:使用mutex(互斥访问缓冲区)、empty(空单元数量)、fullodd/odd(奇数产品数量)、fulleven/even(偶数产品数量),信号量初值均正确,且含义说明清晰。

2. 生产者P1逻辑正确:先P(empty)申请空位,再P(mutex)互斥放入产品,释放mutex后根据奇偶性V(odd)V(even)唤醒对应消费者,顺序正确。

3. 消费者P2、P3逻辑正确:先P(odd)/P(even)等待对应产品,再P(mutex)取出产品,V(mutex)V(empty)释放空位,最后进行统计操作,与标准答案一致。

4. 两次识别结果内容一致:核心逻辑均正确,虽用了fullodd/fulleven命名,而非标准答案的odd/even,但语义完全相同,属于命名差异,不算错误。

5. 无逻辑错误:生产者先P(empty)P(mutex),消费者先P(odd)/P(even)P(mutex),虽然死锁检测顺序(p(mutex)在p(empty)之后)与标准答案中消费者先p(odd)再p(mutex)的顺序一致,且缓冲区内放产品后再发同步信号,避免了死锁。逻辑完全正确。

6. 误写判定:第2次识别中的“B3()”显然为“P3()”的误写,不影响核心逻辑判断,不扣分。

因此,学生答案思路正确、逻辑完善,满足题目全部要求,应得满分。

题目总分:7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发