文章

76

粉丝

0

获赞

0

访问

5.5k

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


评分及理由

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

得分:1分

理由:学生定义了full、empty、mutex三个信号量,初值设置正确(full=0,empty=1000,mutex=1),含义基本正确。但缺少控制消费者连续取10件的互斥信号量(对应标准答案的mutex1),扣1分。

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

得分:1分

理由:生产者进程中的P(empty)和V(full)同步操作正确,但将互斥信号量P(mutex)放在P(empty)之外,会导致死锁风险(获取互斥锁后才检查空位,可能长时间占用锁),扣1分。

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

得分:1分

理由:消费者进程中:
① 使用for循环连续取10次产品,思路正确(+1分);
② 但将P(mutex)放在循环外,导致一个消费者在连续取10件期间独占缓冲区,违反"多个消费者共享缓冲区"的要求(-1分);
③ P(full)和V(empty)顺序正确,但缺少对缓冲区的互斥保护(标准答案需要mutex2),且i--操作未在互斥保护下(-1分);
④ 缺少控制"一个消费者连续取10件后其他消费者才能取"的机制(缺少mutex1)(-1分);
⑤ 消费操作写在V(empty)之后,顺序错误(-1分)。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发