文章

132

粉丝

19

获赞

402

访问

60.5k

头像
2017年计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年10月16日 21:19
阅读数 68


评分及理由

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

学生定义了三个信号量:mutex_13y、mutex_23y、mutex_23z,分别对应thread1与thread3对y的互斥、thread2与thread3对y的互斥、thread2与thread3对z的互斥。这与标准答案的mutex_y1、mutex_y2、mutex_z完全对应,只是命名不同,但功能一致。因此得3分。

(2)thread1代码得分及理由(满分1分)

thread1中正确使用P(mutex_13y)和V(mutex_13y)保护了对y的访问,与标准答案一致。得1分。

(3)thread2代码得分及理由(满分2分)

thread2中正确使用P(mutex_23y)和P(mutex_23z)保护了对y和z的访问,并在操作后正确释放信号量,与标准答案一致。得2分。

(4)thread3代码得分及理由(满分2分)

thread3中对z的访问保护正确,但对y的访问只使用了mutex_23y,缺少对mutex_13y的保护。标准答案中thread3在修改y时需要同时获取mutex_y1和mutex_y2,以确保与thread1和thread2都互斥。这里学生只使用了mutex_23y,会导致thread1和thread3在访问y时可能不互斥,存在逻辑错误。扣1分,得1分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发