文章

324

粉丝

0

获赞

2

访问

23.5k

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


评分及理由

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

学生定义了信号量 index1 和 index2,分别用于保护 y 和 z。标准答案需要三个信号量(mutex_y1, mutex_y2, mutex_z)来精细控制对 y 和 z 的并发访问,因为 thread1 和 thread3 会竞争 y,thread2 和 thread3 会竞争 y,thread2 和 thread3 会竞争 z。学生的信号量定义过于简化,未能体现对 y 变量的两种不同竞争关系,存在逻辑错误。但考虑到识别问题,可能意图定义两个信号量。根据标准,思路不完全正确,扣2分。得1分。

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

学生的thread1代码逻辑混乱,包含无关操作(如w=1, W=add(W)),且P/V操作的对象和位置均不正确,未能正确实现对y的互斥访问。存在严重逻辑错误。根据标准,此部分不得分。得0分。

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

学生的thread2代码逻辑同样混乱,包含无关操作,且P/V操作的对象和位置错误,未能正确实现对z的互斥访问。存在严重逻辑错误。根据标准,此部分不得分。得0分。

(4)thread3代码部分得分及理由(满分1-2分)

学生的作答中未提供清晰、完整的thread3代码(第二次识别结果中thread3代码缺失,第一次识别结果中thread3代码不完整且错误)。无法判断其对临界区的保护逻辑。根据标准,此部分不得分。得0分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发