文章

302

粉丝

0

获赞

15

访问

51.4k

头像
2014年(408)计算机学科专业基础综合试题 - 第47题回答
操作系统
发布于2025年11月29日 16:56
阅读数 45


评分及理由

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

得分:1分

理由:学生定义了empty=1000和full=0,这两个同步信号量的初值和含义正确,符合生产者-消费者问题的基本要求。但是缺少用于保证消费者连续取10件产品期间互斥的信号量(标准答案中的mutex1),且mutex_consumer和mutex_producer的命名和用途不够清晰。因此扣1分。

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

得分:1分

理由:生产者进程中使用了P(empty)和V(full)实现同步,基本正确。但是互斥信号量的使用存在问题:学生使用了mutex_producer和mutex,但mutex未定义,且标准答案中生产者只需一个互斥信号量(mutex2)即可。此外,V(mutex)在生产者中未配对使用,存在逻辑错误。因此扣1分。

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

得分:1分

理由:消费者进程中尝试使用循环实现连续取10件产品,但逻辑混乱:①循环嵌套错误,外层循环次数不明;②P(mutex_consumer)和V(mutex_consumer)的位置不当,无法保证一个消费者连续取10件期间其他消费者不能取;③缺少对连续取10件的互斥控制信号量;④P(full)和P(mutex)的顺序可能引起死锁(标准应先P(full)后P(mutex))。因此扣3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发