文章
99
粉丝
0
获赞
0
访问
3.5k

评分及理由
(1)信号量定义及初值(满分4分)
得分:3分
理由:学生定义了三个信号量:mutex1(初值1)、mutex2(初值1)、empty(初值500)、full(初值0)。其中empty含义正确(初始未进馆人数),初值正确;mutex1和mutex2分别用于控制出入口,虽然分开定义但功能重复,标准答案只需一个mutex控制出入口互斥;full信号量多余且使用不当。扣1分因为定义了不必要的full信号量且初值含义不准确(初始已有人数应为0,但后续使用逻辑错误)。
(2)mutex的P、V操作(满分2分)
得分:1分
理由:学生用mutex1保护进门操作,用mutex2保护出门操作,虽然分开但实现了出入口互斥功能。但mutex2的P操作前有P(full)逻辑错误,导致扣分。由于实现了基本的互斥保护,给1分。
(3)empty的P、V操作(满分1分)
得分:0分
理由:学生对empty的P、V操作位置正确(进门前P(empty),最后V(empty)),但中间插入了对full的错误操作:P(full)在参观前,V(full)在出门后,这会导致进程阻塞在P(full)无法继续执行,属于严重逻辑错误。因此本部分不得分。
题目总分:3+1+0=4分
登录后发布评论
暂无评论,来抢沙发