文章

986

粉丝

5

获赞

20

访问

251.7k

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


评分及理由

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

学生答案中使用了四个信号量来控制操作之间的同步关系,基本符合题目要求。信号量的命名和初值设置存在一些问题:

  • 在第一次识别中,信号量初值未明确写出(默认为0),但根据wait/signal操作的使用方式,可以推断初值为0,这符合标准答案要求。
  • 在第二次识别中,SAC和SBC未赋初值,但SCE和SDE初值为0正确。
  • 信号量命名中使用了"mutex"前缀,虽然这些信号量实际上是用于同步而非互斥,但功能上不影响正确性,不扣分。
  • 操作C需要等待A和B完成,学生使用了wait(mutex_SAC)和wait(mutex_SBC),正确。
  • 操作E需要等待C和D完成,学生使用了wait(mutex_SCE)和wait(mutex_SDE),正确。
  • 主要问题:学生将同步关系错误地理解为"A→C→E"和"B→D→E",忽略了C必须在A和B都完成后执行,以及E必须在C和D都完成后执行的正确关系。但在实际的代码实现中,操作C正确等待了A和B,操作E正确等待了C和D,所以代码逻辑是正确的。

考虑到代码实现正确实现了同步关系,尽管前期的关系描述有误,但根据"思路正确不扣分"原则,且核心代码逻辑正确,给予6分(扣1分因为关系描述错误)。

题目总分:6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发