文章

295

粉丝

0

获赞

1

访问

81.9k

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


评分及理由

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

学生指出了两处错误:

  • 第一处:将 if (key == TRUE) 改为 while (key == TRUE)。这与标准答案一致,正确。
  • 第二处:将 lock = TRUE; 改为 swap key, lock;。这与标准答案不一致。标准答案是将 lock = TRUE; 改为 lock = FALSE;。学生的修改是错误的,因为退出区不应该再次交换,而应该直接释放锁(将 lock 设为 FALSE)。这是一个逻辑错误,会导致互斥失败。

因此,第一问部分正确。第一处修改正确得2分,第二处修改错误扣2分。本小题得2分。

(2)得分及理由(满分3分)

学生回答“不可用 newSwap 代替”,结论正确。给出的理由核心是“newSwap 不同于 swap,它不可实现原子操作”,并且提到了 lock 是共享变量需要互斥访问。这与标准答案的核心思想(swap是原子操作,newSwap函数调用无法保证原子性)是一致的。虽然表述上不如标准答案详细(例如没有举例说明并发执行时可能出现的交错情况),但核心点已涵盖,没有逻辑错误。

因此,本小题得3分。

题目总分:2+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发