文章
119
粉丝
0
获赞
1
访问
10.0k
评分及理由
(1)信号量定义及初值(满分2分)
学生定义了6个信号量:mutexA、mutexB、fullA、fullB、emptyA、emptyB,含义正确。但emptyA和emptyB的初值有误:emptyA应为M-x(学生写为N-x),emptyB应为N-y(学生写为N-y,但N应为B信箱容量,而学生误写为N,但根据上下文判断,可能是识别错误,实际应为N-y,但学生写的是N-y,而N是B信箱容量,所以正确)。然而,emptyA的初值错误(应为M-x,但学生写为N-x),这是一个逻辑错误。扣1分。
得分:1分(满分2分)
(2)A进程同步与互斥操作(满分3.5分)
A进程中:
但emptyB的初值错误(N-y正确,但学生定义时写的是N-y,而N是B信箱容量,所以正确),但emptyA初值错误不影响A进程操作(因为A进程中使用的是emptyB和fullB,而emptyB初值正确)。因此A进程操作本身无逻辑错误。
得分:3.5分(满分3.5分)
(3)B进程同步与互斥操作(满分3.5分)
B进程中:
但emptyA初值错误(应为M-x,学生写为N-x),这会导致B进程在放入A信箱时P(emptyA)可能错误(因为emptyA初值不对),这是一个逻辑错误。扣1分。
得分:2.5分(满分3.5分)
题目总分:1+3.5+2.5=7分
登录后发布评论
暂无评论,来抢沙发