文章

225

粉丝

0

获赞

1

访问

10.9k

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


评分及理由

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

得分:2分

理由:信号量定义正确。empty=1000表示缓冲区初始空位,full=0表示初始产品数,mutex1=1用于生产者互斥,mutex2=1用于消费者互斥。所有信号量含义和初值都符合题目要求。

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

得分:3分

理由:生产者进程实现正确。使用了P(empty)检查缓冲区空位,P(mutex1)实现生产者互斥,产品放入缓冲区后V(mutex1)释放锁,V(full)增加产品计数。完全符合生产者-消费者模型。

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

得分:1分

理由:消费者进程存在逻辑错误:

  • 正确部分:使用mutex2控制消费者连续取10件产品的互斥,for循环结构正确
  • 错误部分:在for循环内部缺少对缓冲区的互斥访问,应该在P(full)后加上P(mutex1)和V(mutex1)来保护缓冲区操作
  • 消费者进程没有实现消费产品的操作

扣分:缺少缓冲区互斥访问扣1分,缺少消费操作扣1分,共扣2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发