文章

280

粉丝

1

获赞

8

访问

87.0k

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


评分及理由

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

学生定义了三个信号量:mutex_y1、mutex_y2、mutex_z,与标准答案一致,分别用于保护y和z的互斥访问。信号量初始值正确。得3分。

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

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

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

thread2中正确使用P(mutex_y2)和P(mutex_z)保护了对y和z的访问,并按照获取顺序的逆序释放信号量。与标准答案一致。得1分。

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

thread3中对z的操作正确使用P(mutex_z)和V(mutex_z)保护。但在对y的操作中,第二次识别结果正确使用了P(mutex_y1)和P(mutex_y2)来获取两个信号量,但第一次识别结果中缺少P(mutex_y2),存在逻辑错误。根据评分规则,两次识别中只要有一次正确就不扣分,因此这里不扣分。但第二次识别结果中释放信号量的顺序为V(mutex_y2)后V(mutex_y1),与获取顺序P(mutex_y1)后P(mutex_y2)不完全逆序,存在潜在的死锁风险,属于逻辑错误,扣1分。得2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发