文章

204

粉丝

6

获赞

4

访问

51.9k

头像
2014年计算机学科专业基础综合试题 - 第47题回答
操作系统
发布于2025年10月22日 18:54
阅读数 25


评分及理由

(1)信号量定义得分及理由(满分2分)

得分:2分

理由:信号量定义正确。full表示产品数量(初值0),empty表示空位数(初值1000),mutex1用于生产者互斥(初值1),mutex2用于消费者互斥(初值1)。信号量含义和初值都符合要求。

(2)生产者进程实现得分及理由(满分2分)

得分:2分

理由:生产者进程实现正确。先P(empty)判断缓冲区是否有空位,再P(mutex1)互斥访问缓冲区,放入产品后V(mutex1)释放互斥锁,最后V(full)增加产品计数。同步和互斥操作都正确。

(3)消费者进程实现得分及理由(满分4分)

得分:2分

理由:消费者进程基本框架正确,使用mutex2保证一个消费者连续取10件产品的互斥,for循环结构正确。但存在以下问题:

  • P(full)操作在for循环内部,应该在进入循环前先判断是否有足够产品
  • 缺少对缓冲区的互斥访问,应该在取产品前后加P(mutex1)和V(mutex1)
  • 消费产品的操作未明确写出

扣分原因:虽然实现了连续取10件的控制,但缺少对缓冲区的互斥保护和产品消费操作,同步机制不完整。

题目总分:2+2+2=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发