文章
7
粉丝
0
获赞
0
访问
249
评分及理由
(1)信号量定义及初值(满分2分)
得分:2分
理由:学生定义了所有必要的信号量(Full_A、Empty_A、Full_B、Empty_B、mutex_A、mutex_B),并正确设置了初值(Full_A=x、Empty_A=M-x、Full_B=y、Empty_B=N-y、mutex_A=1、mutex_B=1)。虽然第二次识别中Full_B的初值写成了"Y"(应为小写y),但根据上下文判断为误写,不扣分。
(2)A进程同步与互斥操作(满分3.5分)
得分:0分
理由:A进程的代码中存在严重逻辑错误。在取出邮件时,缺少实际执行"从A的信箱中取出一个邮件"的操作(只有P(mutex_A)和V(mutex_A)的加锁解锁,没有执行关键操作)。在放入邮件时,同样缺少"将新邮件放入B的信箱"的实际操作。同步信号量的P/V操作顺序正确(先P(Full_A)再P(mutex_A),先P(Empty_B)再P(mutex_B)),但缺少关键操作导致同步逻辑不完整,因此不得分。
(3)B进程同步与互斥操作(满分3.5分)
得分:0分
理由:B进程存在与A进程相同的错误。在取出邮件时缺少"从B的信箱中取出一个邮件"的操作,在放入邮件时缺少"将新邮件放入A的信箱"的操作。虽然同步信号量的使用顺序正确(先P(Full_B)再P(mutex_B),先P(Empty_A)再P(mutex_A)),但缺少关键操作导致无法实现同步功能,因此不得分。
题目总分:2+0+0=2分
登录后发布评论
暂无评论,来抢沙发