文章

986

粉丝

5

获赞

20

访问

246.5k

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


评分及理由

(1)信号量定义部分

得分:2分(满分2分)

理由:学生定义了四个信号量,与标准答案一致。虽然信号量名称有差异(如 mutex_T 对应 mutexT,hell 对应 sk),但含义相同,且初值设置正确(mutex_T 初值应为1,但第一次识别中未显式写出初值,第二次识别中未写初值,根据上下文可推断为1,且标准答案中 mutexT 初值为1,此处不扣分)。empty 和 water 初值为0正确。符合题目要求“定义尽可能少的信号量”。

(2)甲、乙、丙进程的同步互斥实现

得分:4分(满分5分)

理由:
甲进程:逻辑正确,wait(hell) 控制可挖坑数,wait(mutex_T) 互斥使用铁锹,挖坑后释放铁锹并 signal(empty) 通知乙有坑可用。与标准答案一致。
乙进程:在第一次识别中缺少 signal(water) 操作,这将导致丙进程无法被唤醒,属于逻辑错误。第二次识别中乙进程增加了 signal(water),逻辑正确。根据题目要求“对学生作答进行了两次识别,只要其中有一次回答正确则不扣分”,因此乙进程逻辑按正确处理。
丙进程:在两次识别中,丙进程均在浇水后执行了 signal(water),这是错误的。因为 water 信号量用于乙通知丙有树苗需要浇水,丙浇水后不应再 signal(water),否则会错误地增加需浇水树苗计数,破坏同步逻辑。这是一个逻辑错误,扣1分。
其他部分(如互斥使用铁锹、坑数同步)均正确。

题目总分:2+4=6分

题目总分:6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发