文章

480

粉丝

0

获赞

1

访问

65.7k

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


评分及理由

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

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

  1. 定义了四个信号量:mutex(互斥)、empty(空缓冲区计数)、oddNum(对应标准答案的odd)、evenNum(对应标准答案的even),含义正确。
  2. P1进程:先申请空位(P(empty)),再申请互斥锁(P(mutex)),放入数据后释放互斥锁(V(mutex)),最后根据生成的数是奇数还是偶数,向对应的消费者进程发送信号(V(oddNum)或V(evenNum))。逻辑顺序正确。
  3. P2进程:先等待奇数信号(P(oddNum)),再申请互斥锁(P(mutex)),取出数据后释放互斥锁(V(mutex)),然后增加空位(V(empty)),最后统计。逻辑顺序正确。
  4. P3进程:逻辑与P2对称,针对偶数操作,顺序正确。

学生答案在标准答案的基础上增加了`while(1)`循环,这符合生产者-消费者模型持续运行的实际场景,并未违反题目要求,属于合理且正确的扩展,根据打分要求“思路正确不扣分”,不因此扣分。

因此,该答案完全实现了三个进程的同步与互斥,信号量定义清晰,伪代码逻辑正确无误。

得分:7分

题目总分:7分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发