文章

157

粉丝

0

获赞

0

访问

7.3k

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


评分及理由

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

得分:1分

理由:学生定义了三个信号量S1、S2和mutex,其中S1(空缓冲区数量)初值1000和S2(产品数量)初值0是正确的,符合生产者-消费者问题的基本同步需求。但是缺少控制消费者连续取10件产品的互斥信号量(标准答案中的mutex1),因此扣1分。

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

得分:2分

理由:生产者进程的同步操作P(S1)和V(S2)正确(2分),但缺少对缓冲区的互斥访问(缺少P(mutex)和V(mutex)操作),扣1分。

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

得分:1分

理由:消费者进程使用了mutex信号量来实现互斥,这可以保证同一时间只有一个消费者能进入连续取10件的循环(1分)。但是存在以下问题: ① 在循环内部缺少对缓冲区的互斥访问(缺少P(mutex)和V(mutex)操作),扣1分; ② 循环变量i没有递增,会导致死循环,这是一个严重的逻辑错误,扣1分; ③ 虽然使用了mutex实现了消费者间的互斥,但这只能保证同一时间只有一个消费者在取产品,而不能完全满足"一个消费者连续取10件后其他消费者才能取"的要求,因为mutex在循环结束后就释放,其他消费者可能立即抢占,不能保证连续取10件的完整性。

题目总分:1+2+1=4分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发