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

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了四个信号量,但存在以下问题:
- empty初值应为1000(缓冲区容量),第一次识别写为"low"错误,但第二次识别正确写为1000,按正确计算
- full初值应为0,两次识别都正确
- mutex1含义和初值正确,用于控制消费者连续取10件产品的互斥
- mutex2/mutex用于缓冲区互斥访问,初值正确
- 扣1分:第一次识别中empty初值写为"low"是明显错误
(2)生产者进程实现得分及理由(满分2分)
得分:1分
理由:
- 生产者使用了P(empty)和V(full)进行同步,顺序正确
- 使用了互斥信号量保护缓冲区访问
- 扣1分:生产者错误地使用了mutex1而不是mutex2/mutex来保护缓冲区,这是严重的逻辑错误
(3)消费者进程实现得分及理由(满分4分)
得分:2分
理由:
- 正确使用mutex1控制连续取10件产品的互斥(+1分)
- 正确使用for循环连续取10件产品(+1分)
- 扣2分:在消费者内部,取出产品后错误地使用了V(full)而不是V(empty),这是严重的同步逻辑错误
- 消费者使用了正确的互斥信号量保护缓冲区访问
题目总分:1+1+2=4分
登录后发布评论
暂无评论,来抢沙发