文章
118
粉丝
0
获赞
0
访问
13.8k

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了tg和st两个互斥信号量,分别对应铁锹和水桶,初值都为1,这部分正确。但mutex_sk和mutex_sm初值为0且被用作同步信号量,这与题目要求的"树坑数量小于3时甲才可以挖树坑"的条件不符,缺少对可挖树坑数量的控制信号量。扣1分。
(2)甲进程代码得分及理由(满分2分)
得分:0分
理由:甲使用while循环检查mutex_sk>=3来限制挖坑,这不是正确的同步机制,应该使用信号量操作。而且mutex_sk初值为0,这个条件永远不成立,甲无法挖坑。逻辑错误严重,扣2分。
(3)乙进程代码得分及理由(满分2分)
得分:1分
理由:乙的流程基本正确(等待树坑、放树苗、等待铁锹、填土),但信号量的使用逻辑错误。mutex_sk初值为0,乙一开始就会阻塞,无法执行。signal(mutex_sm)操作正确。扣1分。
(4)丙进程代码得分及理由(满分1分)
得分:1分
理由:丙的流程正确,等待树苗信号、浇水,对水桶的使用有正确的互斥保护。这部分没有逻辑错误。
题目总分:1+0+1+1=3分
登录后发布评论
暂无评论,来抢沙发