文章

389

粉丝

5

获赞

19

访问

25.3k

头像
2025年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月5日 18:16
阅读数 29


评分及理由

(1)信号量定义得分及理由(满分2分)

得分:1分

理由:学生定义了5个信号量,比标准答案多1个。其中:

  • mutex_&(应为mutex_T)对应铁锹互斥,正确
  • hell(应为sk)表示可挖树坑数量,初值3正确
  • empty表示可用树坑数量,初值0正确
  • water表示需要浇水的树苗,初值0正确
  • 但多定义了mutex_T用于水桶互斥,这是不必要的,因为浇水不需要互斥(题目未要求水桶互斥)。多定义信号量扣1分。

(2)甲进程代码得分及理由(满分2分)

得分:2分

理由:甲进程逻辑完全正确:先wait(hell)检查可挖坑数,再wait(mutex_&)获取铁锹,挖坑后释放铁锹,signal(empty)通知乙有可用树坑。缺少while循环但不扣分,因为题目未明确要求循环。

(3)乙进程代码得分及理由(满分2分)

得分:2分

理由:乙进程逻辑完全正确:先wait(empty)等待可用树坑,再wait(mutex_&)获取铁锹,填土后释放铁锹,signal(hell)增加可挖坑数,signal(water)通知丙浇水。

(4)丙进程代码得分及理由(满分1分)

得分:0分

理由:丙进程存在严重逻辑错误:

  • 多用了wait(mutex_T)获取水桶互斥锁,但浇水不需要互斥
  • 错误地使用了signal(water),这会导致water信号量错误增加
  • 缺少signal操作来释放资源(虽然水桶不需要互斥,但标准逻辑中丙不需要signal)
这些错误导致同步逻辑混乱,扣1分。

题目总分:1+2+2+0=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发