文章

310

粉丝

6

获赞

5

访问

85.1k

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


评分及理由

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

得分:2分

理由:学生定义了四个信号量:shovel(铁锹互斥,初值1)、hole(可挖树坑数量,初值3)、SAB(甲到乙的同步,初值0)、SBC(乙到丙的同步,初值0)。信号量定义清晰,初值设置正确,与题目要求“定义尽可能少的信号量”相符,且能实现同步互斥关系。因此给满分。

(2)甲、乙、丙三人的同步互斥操作逻辑(满分约5分)

得分:4分

理由:学生的代码逻辑整体正确,实现了三人之间的顺序协作(甲→乙→丙)以及对铁锹的互斥访问。但存在一个逻辑错误:在乙的代码中,执行完“放苗、填土”后,先执行了V(hole),然后才V(shovel)。根据题目描述,铁锹用于挖坑和填土,乙在填土完成后应立刻释放铁锹(V(shovel)),然后才能增加可挖坑数(V(hole))。虽然执行顺序交换在此处可能不会导致死锁(因为hole和shovel信号量在此上下文中没有直接依赖),但严格来说,释放资源的顺序应与申请顺序相匹配,且标准答案中先释放铁锹再增加可挖坑数。此处扣1分。其余部分(包括甲挖坑前检查hole、使用SAB/SBC同步)均正确。

(3)题目总分:2+4=6分

题目总分:6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发