文章
297
粉丝
0
获赞
1
访问
182.2k

评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了5个信号量,其中mutex=1正确,但其他信号量的含义和初值存在错误。标准答案需要4个同步信号量(Full_A、Empty_A、Full_B、Empty_B)和2个互斥信号量(mutex_A、mutex_B)。学生用rA、rB表示邮件数量(类似Full信号量),但A和B信号量含义不明确(应为Empty信号量),且初值设置错误(A=M、B=N应为Empty_A=M-x、Empty_B=N-y)。由于部分信号量思路正确但定义不完整,扣1分。
(2)A进程同步互斥操作(满分3.5分)
得分:1.5分
理由:A进程中,P(rA)和V(rB)同步操作正确(对应取A邮件和放B邮件),但P(B)错误(应用P(Empty_B))。互斥操作P(mutex)/V(mutex)使用单一mutex覆盖两个信箱,存在逻辑错误(应分开互斥锁),导致可能死锁或数据不一致。同步逻辑部分正确,但互斥处理错误,扣2分。
(3)B进程同步互斥操作(满分3.5分)
得分:1.5分
理由:B进程中,P(rB)和V(rA)同步操作正确(对应取B邮件和放A邮件),但P(A)错误(应用P(Empty_A))。互斥操作同样错误使用单一mutex。扣分理由同A进程。
题目总分:1+1.5+1.5=4分
登录后发布评论
暂无评论,来抢沙发