文章

83

粉丝

0

获赞

0

访问

6.2k

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


评分及理由

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

学生定义了三个信号量mutex_x、mutex_y、mutex_z,分别用于保护变量x、y、z。但标准答案中针对y变量使用了两个独立的信号量(mutex_y1和mutex_y2),这是为了允许thread1和thread2在thread3不访问y时能够并发执行。学生的方案虽然能保证互斥,但并发度不够高,会不必要地限制thread1和thread2的并发执行。扣1分。

得分:2分

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

thread1中正确使用了P/V操作保护对x和y的访问,虽然并发度不如标准答案高,但逻辑正确。考虑到题目要求"最大程度地并发执行",此处实现不够优化,但基本功能正确。不扣分。

得分:1分

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

thread2中正确使用了P/V操作保护对y和z的访问,逻辑正确。同样存在并发度不够高的问题,但基本功能正确。不扣分。

得分:1分

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

thread3中对z的操作保护正确,但对y的操作只使用了一个信号量,没有像标准答案那样同时获取两个y信号量来确保与thread1和thread2的完全互斥。这可能导致在特定执行顺序下出现数据竞争。扣1分。

另外,学生作答中w.b=1(应为2),但根据禁止扣分规则第1条,判断为识别错误,不扣分。

得分:2分

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发