文章
45
粉丝
0
获赞
0
访问
4.4k

评分及理由
(1)得分及理由(满分2分)
学生第一次识别回答"某",第二次识别回答"是",判断为识别错误。根据第二次识别结果,学生明确回答"是"并给出了理由"C1要写入B而B是空闲的",这与标准答案中关于C1代码是临界区的判断一致。虽然理由表述不如标准答案详细,但核心观点正确。得2分。
(2)得分及理由(满分3分)
学生使用了两个信号量B和full,对应标准答案中的mutex和full。信号量初值设置正确(B=1,full=0)。P1和P2的代码逻辑基本正确:P1先获取B,执行C1,释放B,然后signal(full);P2先wait(full),再wait(B),执行C2,释放B。但P2代码中多了一个"signal(full)",这是逻辑错误,应该扣1分。得2分。
(3)得分及理由(满分3分)
学生使用了信号量B作为互斥信号量,初值设为1。P1和P2的代码结构正确:都是先wait(B),执行C3,然后signal(B)。但第一次识别结果中P1代码有"设B=1"和重复的"wait(B)",这是逻辑错误。不过根据第二次识别结果,代码是正确的。按照"只要其中有一次回答正确则不扣分"的原则,不扣分。得3分。
题目总分:2+2+3=7分
登录后发布评论
暂无评论,来抢沙发