文章

117

粉丝

38

获赞

0

访问

22.1k

头像
2025年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年12月16日 16:17
阅读数 131


评分及理由

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

得分:2分

理由:学生定义了四个信号量,与标准答案完全对应(尽管命名不同):tieqiao(对应mutexT,互斥使用铁锹,初值1)、wakeng(对应sk,控制可挖坑数,初值3)、keng(对应empty,表示可用坑数,初值0)、jiaoshui(对应water,表示待浇水树苗数,初值0)。信号量作用说明清晰,初值正确。因此该部分得满分。

(2)甲进程的同步互斥实现(满分约2分)

得分:2分

理由:甲进程的逻辑与标准答案一致。先wait(wakeng)确保坑数小于3才可挖,再wait(tieqiao)获取铁锹,挖坑后释放铁锹并signal(keng)通知乙有坑可用。逻辑正确无误。

(3)乙进程的同步互斥实现(满分约2分)

得分:1分

理由:乙进程的整体框架正确,但存在一处逻辑错误。在第二次识别结果中,乙进程在“放树苗”后立即signal(wakeng),这不符合题意。根据题目,乙的步骤是“放树苗入坑并填土”,填土需要使用铁锹,且填土完成后才应释放一个可挖坑名额(即signal(wakeng))。标准答案中,signal(sk)是在填土并释放铁锹之后执行的。学生答案中signal(wakeng)提前到填土之前,会导致甲可能在乙填土完成前就又开始挖坑,虽然由于铁锹互斥可能不会产生严重错误,但逻辑顺序与题目描述的流程不符,属于逻辑错误。扣1分。其余部分(wait(keng)、获取释放铁锹、signal(jiaoshui))正确。

(4)丙进程的同步互斥实现(满分约1分)

得分:1分

理由:丙进程的逻辑正确。wait(jiaoshui)等待浇水信号,浇水后循环。在第二次识别结果中完全正确。第一次识别结果中丙的代码有误(浇水后V(jiaoshui)),但根据“两次识别只要一次正确则不扣分”的原则,此处不扣分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发