文章
120
粉丝
0
获赞
0
访问
62.7k

评分及理由
(1)信号量定义部分得分及理由(满分1分)
得分:0.5分
理由:学生定义了4个信号量,但存在以下问题:
1. shuken初始值应为3(表示可挖树坑数量),但学生设为0,这是逻辑错误
2. 缺少浇水相关的信号量(如标准答案中的water信号量)
3. 信号量定义基本完整,但初值设置不正确
(2)甲进程代码得分及理由(满分2分)
得分:1分
理由:
1. 使用了if条件判断shuken<3,但应该用信号量wait操作来控制,这是逻辑错误
2. 正确使用了铁锹互斥信号量
3. 挖坑后signal(shuken)逻辑基本正确
4. 缺少对empty信号量的signal操作
(3)乙进程代码得分及理由(满分2分)
得分:1分
理由:
1. 正确使用了shuken信号量等待树坑
2. 放树苗和填土操作都在乙进程中完成,这与题目要求一致
3. 但填土操作缺少对sk信号量的signal操作(让甲可以继续挖坑)
4. 缺少对water信号量的signal操作来通知丙浇水
(4)丙进程代码得分及理由(满分2分)
得分:0.5分
理由:
1. 丙只负责浇水,这是正确的
2. 但缺少等待water信号量的操作
3. 浇水操作不需要互斥保护,学生的mutexk使用不合理
题目总分:0.5+1+1+0.5=3分
主要问题总结:
1. 信号量初值设置错误
2. 缺少关键同步信号量(empty、water)
3. 进程间同步关系不完整
4. 部分互斥保护使用不合理
登录后发布评论
暂无评论,来抢沙发