文章

77

粉丝

0

获赞

0

访问

7.1k

头像
2015年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月22日 17:51
阅读数 87


评分及理由

(1)信号量定义及初值(满分2分)

得分:2分

理由:学生定义了四个同步信号量(full_A, full_B, empty_A, empty_B)并正确设置了初值(x, y, M-x, N-y),与标准答案一致。信号量含义清晰,初值正确。

(2)互斥信号量的使用(满分2分)

得分:0分

理由:学生未定义和使用互斥信号量(mutex_A和mutex_B)。标准答案中要求对信箱的访问(取邮件和放邮件)需要互斥保护,但学生的代码中缺少互斥锁,这会导致多个进程同时访问同一个信箱时出现竞态条件,属于逻辑错误。

(3)同步信号量的P、V操作使用(满分5分)

得分:3分

理由:

  • 在A进程中:P(full_A)和V(empty_A)操作正确(取邮件后释放空位),但缺少互斥锁;P(empty_B)和V(full_B)操作正确(放邮件前申请空位,放后增加邮件数),但缺少互斥锁。同步逻辑正确,但互斥缺失。
  • 在B进程中:P(full_B)和V(empty_B)操作正确(取邮件后释放空位),但缺少互斥锁;P(empty_A)和V(full_A)操作正确(放邮件前申请空位,放后增加邮件数),但缺少互斥锁。同步逻辑正确,但互斥缺失。
  • 扣分:由于互斥信号量缺失,导致同步操作虽逻辑正确但存在竞态风险,因此扣2分(互斥部分错误影响同步安全性)。

题目总分:2+0+3=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发