文章
80
粉丝
0
获赞
0
访问
4.1k
评分及理由
(1)信号量定义及初值(满分2分)
得分:2分
理由:学生正确定义了所有必要的信号量,包括emptyA、fullA、emptyB、fullB、mutexA、mutexB,并且初值设置完全正确(emptyA=M-x, fullA=x, emptyB=N-y, fullB=y, mutexA=1, mutexB=1)。
(2)A进程的同步互斥操作(满分3.5分)
得分:3.5分
理由:A进程的同步互斥操作完全正确:
- 取邮件前先P(fullA)检查是否有邮件,再P(mutexA)互斥访问
- 取邮件后V(mutexA)释放互斥锁,V(emptyA)增加空位
- 放邮件前先P(emptyB)检查B信箱是否有空位,再P(mutexB)互斥访问
- 放邮件后V(mutexB)释放互斥锁,V(fullB)增加邮件数
所有P、V操作顺序正确,没有逻辑错误。
(3)B进程的同步互斥操作(满分3.5分)
得分:3.5分
理由:B进程的同步互斥操作完全正确:
- 取邮件前先P(fullB)检查是否有邮件,再P(mutexB)互斥访问
- 取邮件后V(mutexB)释放互斥锁,V(emptyB)增加空位
- 放邮件前先P(emptyA)检查A信箱是否有空位,再P(mutexA)互斥访问
- 放邮件后V(mutexA)释放互斥锁,V(fullA)增加邮件数
所有P、V操作顺序正确,与A进程对称,没有逻辑错误。
题目总分:2+3.5+3.5=9分
登录后发布评论
暂无评论,来抢沙发