文章

117

粉丝

160

获赞

0

访问

3.7k

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


评分及理由

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

学生答案整体思路正确,信号量设置与标准答案一致(AC、BC、CE、DE,初值均为0),并正确使用P、V操作实现了同步关系:

  • A、B、D操作无前置条件,执行后分别通过V(AC)、V(BC)、V(DE)通知后续操作。
  • C操作前通过P(AC)和P(BC)等待A和B完成,执行后通过V(CE)通知E。
  • E操作需要等待C和D完成。在第一次识别结果中,E()函数内存在逻辑错误:执行了P(CE)后紧接着又执行了V(CE),然后才执行E,这会导致同步错误(可能使E在D完成前就执行,或破坏CE信号量的计数)。但在第二次识别结果中,E()函数修正为正确的P(CE)和P(DE)(尽管第二次识别结果中只写出了P(CE),遗漏了P(DE),但根据题目要求“E必须在C和D完成后执行”,此处缺失对D的等待是一个逻辑错误)。

然而,根据题目提供的两次识别结果,需要综合判断:第二次识别结果中E()函数只有P(CE),缺少P(DE),这属于逻辑错误,会导致E无法正确等待D完成,违反了同步要求。因此需要扣分。

扣分点:E()函数中缺少对信号量DE的P操作(即wait(DE)),导致同步逻辑不完整。扣除2分。

得分:7 - 2 = 5分。

题目总分:5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发