文章
296
粉丝
0
获赞
0
访问
21.9k

评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了5个信号量,但存在以下问题:
- boxA和boxB的命名和含义正确,初值正确(1分)
- mutexA和mutexB定义正确,初值正确(1分)
- fullA和fullB的命名和含义错误:应该表示剩余容量,但初值错误(M-y应为N-y),且命名应为Empty_A和Empty_B更合适(扣1分)
- 缺少Empty_A和Empty_B的明确定义
(2)A进程的同步互斥操作(满分3.5分)
得分:1.5分
理由:
- P(boxA)和P(mutexA)顺序正确(1分)
- 第一个P(mutexA)后应该是V(mutexA),学生写成了P(mutexA),这是严重逻辑错误(扣1分)
- V(fullA)应该对应取出邮件后的空位增加,但fullA定义错误影响此处(扣0.5分)
- P(fullB)正确(0.5分)
- P(mutexB)正确(0.5分)
- 第二个P(mutexB)应该是V(mutexB),这是严重逻辑错误(扣1分)
- V(boxB)正确(0.5分)
(3)B进程的同步互斥操作(满分3.5分)
得分:2分
理由:
- P(boxB)和P(mutexB)顺序正确(1分)
- 第一个P(mutexB)后应该是V(mutexB),学生写成了P(mutexB),这是严重逻辑错误(扣1分)
- V(fullB)应该对应取出邮件后的空位增加,但fullB定义错误影响此处(扣0.5分)
- P(fullA)正确(0.5分)
- P(mutexA)正确(0.5分)
- V(mutexA)正确(0.5分)
- V(boxA)正确(0.5分)
题目总分:1+1.5+2=4.5分
登录后发布评论
暂无评论,来抢沙发