文章

115

粉丝

0

获赞

0

访问

8.0k

头像
2022年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年11月19日 20:37
阅读数 61


评分及理由

(1)信号量定义及初值(满分2分)

得分:2分

理由:学生正确定义了ac和ce两个信号量,初值均为0,与标准答案中的简化版本一致。信号量的作用描述清晰,ac用于控制A和C的执行顺序,ce用于控制C和E的执行顺序。

(2)线程T1的同步操作(满分3分)

得分:2分

理由:T1中执行A后signal(ac)正确,执行E前wait(ce)正确。但存在两个问题:1)在E完成后缺少对F的同步控制,标准答案中F在E完成后执行,但学生代码中E后直接执行F,由于F在E完成后执行且在同一线程内,这个顺序本身正确,但缺少信号量控制(标准答案简化版本中确实没有为EF设置信号量,所以这里不扣分)。主要扣分点是2)代码中使用了while(1)循环,这是题目没有要求的额外逻辑,会导致程序无法正常结束,属于逻辑错误,扣1分。

(3)线程T2的同步操作(满分3分)

得分:2分

理由:T2中执行B后没有等待(正确,因为B没有前置依赖),执行C前wait(ac)正确,执行C后signal(ce)正确,执行D前没有等待(正确,因为D在C后执行且在同一线程内)。主要扣分点同样是使用了while(1)循环,属于逻辑错误,扣1分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发