文章

255

粉丝

0

获赞

0

访问

62.2k

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


评分及理由

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

学生定义了两个信号量Y和Z,分别用于保护y和z的互斥访问。但标准答案中需要三个信号量:mutex_y1用于thread1和thread3对y的互斥,mutex_y2用于thread2和thread3对y的互斥,mutex_z用于z的互斥。学生只定义了两个信号量,无法实现thread1和thread2对y的并发访问,缺少对y的细粒度控制。因此扣2分,得1分。

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

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

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

thread2中先P(Z)后P(Y)的顺序与标准答案不同,但不会造成死锁。然而由于信号量设计缺陷,无法实现thread1和thread2对y的并发访问。考虑到基本逻辑正确,扣1分,得1分。

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

thread3中对z的操作正确使用了P(Z)/V(Z),但对y的操作只使用了一个Y信号量,无法实现与thread1和thread2的并发。此外,第二次识别中有"w.n=1"的误写,但根据上下文判断为w.a=1的识别错误,不扣分。综合考虑扣1分,得1分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发