文章

148

粉丝

0

获赞

0

访问

16.8k

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


评分及理由

(1)得分及理由(满分7分)

学生答案定义了三个信号量:mutex(互斥使用铁锹)、tree(表示树苗数量)、empty(可挖树坑数量)。其思路与标准答案在核心同步逻辑上基本一致,但存在一个关键逻辑错误:在乙的流程中,缺少对“empty”信号量的等待。根据题目描述,乙需要等待甲挖好坑(即empty资源)才能进行放树苗和填土,但学生代码中乙直接申请mutex,这可能导致乙在甲挖坑之前就试图填土,违反了“挖坑-放苗填土-浇水”的顺序约束。此外,学生代码中“tree”信号量的作用与标准答案中的“water”信号量作用相同,用于通知丙浇水,这是正确的。但缺少了对“当树坑数量小于3时,甲才可以挖树坑”这一条件的完整实现。学生用empty=3来限制甲最多只能挖3个未处理的坑,思路正确,但乙的流程错误导致同步链断裂。因此,扣除主要逻辑错误分。考虑到核心同步框架(互斥、资源计数)正确,但关键顺序控制有误,给予部分分数。

得分:4分(扣3分,主要扣分点为乙缺少wait(empty)操作,导致甲、乙之间无同步)

题目总分:4分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发