文章
782
粉丝
21
获赞
1
访问
99.9k

评分及理由
(1)信号量定义得分及理由(满分2分)
学生定义了4个信号量:spade(铁锹互斥)、bud(可挖坑数量)、tree(待种树坑数)、water(待浇水树坑数)。信号量定义与标准答案功能一致,命名不同但不影响逻辑。初值设置正确:spade=1、bud=3、tree=0、water=0。得2分。
(2)甲进程实现得分及理由(满分2分)
甲进程正确执行:wait(bud)检查可挖坑数→wait(spade)获取铁锹→挖坑→signal(tree)通知乙有坑待种→signal(spade)释放铁锹。逻辑完整且与标准答案等效。得2分。
(3)乙进程实现得分及理由(满分2分)
乙进程存在逻辑错误:先执行"放树苗入坑"再申请铁锹填土,但填土需要铁锹,而放树苗不需要铁锹。标准答案中乙在获取树坑后立即申请铁锹执行整个种植操作。此处操作顺序不合理,但未造成死锁,扣1分。其他操作正确:wait(tree)→放树苗→wait(spade)→填土→signal(water)→signal(spade)。得1分。
(4)丙进程实现得分及理由(满分1分)
丙进程正确执行:wait(water)等待浇水信号→浇水→signal(bud)释放坑位。逻辑完整,与标准答案等效。得1分。
题目总分:2+2+1+1=6分
登录后发布评论
暂无评论,来抢沙发