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

评分及理由
(1)得分及理由(满分7分)
学生作答的整体思路与标准答案基本一致,正确使用了信号量机制来同步三个进程(甲、乙、丙)并管理共享资源(铁锹、树坑数量)。具体分析如下:
- 信号量定义与初值:学生定义了四个信号量,与标准答案的四个信号量在功能上对应:
- mutex(对应mutexT):用于铁锹的互斥访问,初值为1,正确。
- hole(对应sk):表示“可挖的树坑数量”,题目要求“当树坑数量小于3时,甲才可以挖树坑”,这意味着系统中最多允许存在3个未处理的树坑(即甲挖了但乙未处理的坑)。学生第二次识别中hole初值为3,与标准答案sk=3一致,正确。第一次识别中hole=5有误,但第二次识别已修正,且根据“两次识别只要有一次正确则不扣分”的原则,不扣分。
- full(对应empty):表示“可使用的树坑数量”(即甲挖好、等待乙处理的坑),初值为0,正确。
- tree(对应water):表示“需要浇水的树苗”(即乙处理完、等待丙浇水的树),初值为0,正确。
- 进程逻辑:
- 甲:先P(hole)检查能否挖坑,再P(mutex)获取铁锹,挖坑后V(mutex)释放铁锹,最后V(full)通知乙有坑可用。逻辑正确。
- 乙:先P(full)等待有坑可用,再P(mutex)获取铁锹,放树苗并填土后V(mutex)释放铁锹,然后V(hole)增加一个可挖坑名额(因为乙处理完一个坑,系统允许的未处理坑上限恢复一个),最后V(tree)通知丙浇水。逻辑正确。
- 丙:P(tree)等待树苗可浇水,然后浇水。逻辑正确。
- 与标准答案差异:学生答案中信号量命名(hole, full, tree)与标准答案(sk, empty, water)不同,但含义和用法一致,属于思路正确,不扣分。学生答案中乙进程的“重V(tree)”疑似识别错误,但第二次识别已修正为“V(tree)”,根据规则不扣分。
- 扣分点:无明显逻辑错误。学生答案完整实现了同步互斥关系,且信号量数量、初值、PV操作顺序均正确。
因此,本题得分为7分。
题目总分:7分
登录后发布评论
暂无评论,来抢沙发