2017年计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年10月27日 18:48
阅读数 15

评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了多个信号量,但存在以下问题:
- 定义了mutex_w用于互斥访问局部变量w,这是不必要的,因为局部变量w是线程私有的,不需要互斥保护(逻辑错误,扣1分)
- 定义了额外的信号量X、Y、Z、W,这些信号量的用途不明确,且与标准答案的思路不一致(逻辑错误,扣1分)
- 缺少对y变量的细粒度互斥控制(标准答案需要mutex_y1和mutex_y2两个信号量)(逻辑错误,扣1分)
得分:0分
(2)thread1实现得分及理由(满分1分)
thread1中:
- 使用了P(X)、P(Y)操作,但X信号量未定义,且这些信号量的用途不明确(逻辑错误)
- 对局部变量w的互斥保护是不必要的(逻辑错误)
- 缺少对y变量的正确互斥访问控制
得分:0分
(3)thread2实现得分及理由(满分1分)
thread2中:
- 使用了P(Y)、P(Z)操作,但这些信号量的用途不明确(逻辑错误)
- 对局部变量w的互斥保护是不必要的(逻辑错误)
- 缺少对y和z变量的正确互斥访问控制
得分:0分
(4)thread3实现得分及理由(满分3分)
thread3中:
- 对局部变量w的互斥保护是不必要的(逻辑错误,扣1分)
- 对z变量的互斥保护基本正确(得1分)
- 对y变量的互斥保护不够完善,缺少细粒度控制(逻辑错误,扣1分)
- 使用了V(W)、V(Z)、V(Y)等不必要的信号量操作(逻辑错误,扣1分)
得分:1分
题目总分:0+0+0+1=1分
登录后发布评论
暂无评论,来抢沙发