2017年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月8日 17:05
阅读数 10

评分及理由
(1)信号量定义得分及理由(满分3分)
学生答案中未明确定义信号量,而是直接使用P、V操作,且使用的信号量标识符与变量名相同(如P(w)、P(y)等),这会导致混淆和错误。标准答案中明确定义了三个信号量用于保护共享变量y和z的互斥访问。学生答案在信号量定义部分得0分。
(2)线程互斥实现得分及理由(满分5分)
学生答案的互斥实现存在多处逻辑错误:
- thread1中使用了P(w)和P(y),但w是局部变量,不需要互斥保护;对y的保护不完整,未考虑thread3同时修改y的情况。
- thread2中使用了P(w)、P(y)、P(z),但w是局部变量不需要保护;对y和z的保护顺序与标准答案不一致,且未考虑thread3对y的修改。
- thread3中使用了P(w)、P(z)、P(y),其中P(w)错误(w是局部变量);对y和z的保护不完整,未考虑与thread1和thread2的互斥关系。
- 所有线程中使用的信号量标识符与变量名相同,这在实际执行中会导致严重错误。
由于存在上述逻辑错误,互斥实现部分得0分。
题目总分:0+0=0分
登录后发布评论
暂无评论,来抢沙发