文章
246
粉丝
0
获赞
0
访问
38.1k

评分及理由
(1)信号量定义得分及理由(满分2分)
得分:1分
理由:学生定义了mutex=1、hole=0、tree=0、iron=1四个信号量,其中mutex用于保护树坑数量i的互斥访问是正确的,hole和tree用于进程间同步也是合理的。但iron信号量用于铁锹互斥是多余的,因为题目要求定义"尽可能少的信号量",且铁锹互斥可以通过其他方式实现。此外缺少对可挖树坑数量的控制信号量。
(2)甲进程实现得分及理由(满分2分)
得分:1分
理由:甲进程使用mutex保护i的访问,在i<3时挖坑,基本思路正确。但存在逻辑问题:当i>=3时,甲会不断空转检查,浪费CPU资源,应该使用信号量阻塞等待。另外,iron信号量的使用不合理。
(3)乙进程实现得分及理由(满分1.5分)
得分:1分
理由:乙进程等待hole信号量后执行放树苗和填土操作,然后发送tree信号量,同步关系基本正确。但缺少对铁锹资源的互斥访问控制。
(4)丙进程实现得分及理由(满分1.5分)
得分:1分
理由:丙进程等待tree信号量后浇水,然后减少树坑数量i,基本功能正确。但i--操作应该放在更合适的位置,且缺少对水桶资源的考虑。
题目总分:1+1+1+1=4分
登录后发布评论
暂无评论,来抢沙发