文章

391

粉丝

0

获赞

0

访问

44.2k

头像
2020年(408)计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年11月13日 23:29
阅读数 8


评分及理由

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

学生答案中使用了信号量来实现同步关系,但存在以下问题:

  • 信号量命名和用途混乱:使用了类似互斥锁的 mutex 信号量(如 mutexA、mutexB、mutexD),这些信号量初值为1,但实际同步关系并不需要互斥,而是需要前驱后继的同步控制。这些 mutex 信号量在逻辑上是多余的,并且可能导致死锁或顺序错误。
  • 同步逻辑不准确:虽然 fullA、fullB、fullC、fullD 初值为0,用于表示“完成”信号,但 C 操作中在完成后释放了 mutexA 和 mutexB,这是没有必要的,并且与 A、B 中的 mutex 使用形成循环等待,可能破坏同步关系。
  • E 操作中错误地写了“执行D操作”,应为“执行E操作”,属于明显逻辑错误。
  • 整体上,学生答案虽然通过 fullA、fullB 实现了 A、B 完成后再执行 C,通过 fullC、fullD 实现了 C、D 完成后再执行 E,但引入了不必要的互斥信号量,且存在执行操作名称错误,因此不能给满分。

扣分情况:

  • 多余且错误的互斥信号量使用,扣2分。
  • E 操作中执行操作名称错误,扣1分。
  • 同步逻辑基本正确但存在冗余和潜在问题,扣1分。

得分:7 - 2 - 1 - 1 = 3分

题目总分:3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发