文章

116

粉丝

0

获赞

5

访问

36.5k

头像
2022年(408)计算机学科专业基础综合试题 - 第46题回答
操作系统
发布于2025年12月14日 01:12
阅读数 192


评分及理由

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

学生作答中,第一次识别结果存在明显的命名不一致和逻辑错误(如B操作中V(pre_A)应为V(pre_B),pre-A、pre_B等命名不规范且存在混淆),但第二次识别结果已修正为规范的信号量命名和操作。根据第二次识别结果分析:

  • 信号量设置:设置了pre_A、pre_B、pre_C、pre_D、pre_E共5个信号量,初值均为0,符合“每个同步关系一个信号量”的思路,但其中pre_D和pre_C对应的边(C->D和C->E)属于线程内顺序,标准答案指出可以简化,但学生未简化。未简化不属于逻辑错误,只是冗余,因此不扣分。
  • 同步逻辑:A完成后V(pre_A),B完成后V(pre_B),C需要P(pre_A)和P(pre_B)才能执行,这正确实现了A和B都完成后C才能执行。C完成后V(pre_C)和V(pre_D),D需要P(pre_D),E需要P(pre_C),F需要P(pre_E),E完成后V(pre_E)。该逻辑完全满足了题目给出的所有约束条件(C在A和B后,D和E在C后,F在E后)。
  • 线程分配:学生未明确写出T1和T2的线程划分,但根据操作分配(A、E、F通常属于T1,B、C、D属于T2)以及代码块的顺序,可以推断其隐含的线程划分与题目一致。虽然未显式写出cobegin/coend及进程结构,但同步关系描述清晰,因此不扣分。
  • 小问题:第二次识别结果中信号量声明为“pre - A”等形式,中间有空格,这可能是识别或书写格式问题,不影响核心逻辑判断,视为误写不扣分。

因此,学生的答案正确实现了同步关系,没有逻辑错误。根据打分要求,思路正确不扣分,识别误差导致的格式问题不扣分。本题满分为8分,学生答案可得满分。

题目总分:8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发