文章

149

粉丝

0

获赞

0

访问

56.4k

头像
2017年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月20日 17:21
阅读数 221


评分及理由

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

学生定义了mutex_y和mutex_z两个信号量,但缺少对y变量的细粒度互斥控制。标准答案需要mutex_y1和mutex_y2两个信号量来分别控制thread1-thread3和thread2-thread3对y的访问,以实现最大并发。学生只用一个mutex_y会导致不必要的串行化。扣2分。

得分:1分

(2)thread1实现得分及理由(满分1分)

thread1正确使用了P(mutex_y)和V(mutex_y)来保护对y的访问,逻辑正确。得1分。

得分:1分

(3)thread2实现得分及理由(满分2分)

thread2同时获取了mutex_z和mutex_y的锁,保护了对y和z的访问,逻辑正确。但使用的mutex_y不够细化,这已在信号量定义部分扣分,此处不重复扣分。得2分。

得分:2分

(4)thread3实现得分及理由(满分2分)

thread3对z的操作正确使用了mutex_z,但对y的操作只使用了一个mutex_y,没有实现thread1和thread2对y的并发访问。标准答案需要同时获取mutex_y1和mutex_y2来确保完全互斥。扣1分。

得分:1分

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发