文章
133
粉丝
0
获赞
0
访问
13.5k

评分及理由
(1)信号量定义及初值设置(满分2分)
得分:1分
理由:学生定义了mutex信号量用于互斥访问,初值正确(1分)。但碗资源使用了整型变量bowl而不是信号量,这无法实现同步操作(应扣1分)。筷子数组使用了整型数组而非信号量数组,无法实现同步(应扣1分)。由于两个错误性质相同,合并扣1分。
(2)资源申请逻辑(满分3分)
得分:1分
理由:学生理解了需要同时获取两根筷子和一个碗才能进餐(1分)。但采用忙等待方式(break前循环检查),效率低下(扣1分)。没有考虑防止死锁的机制,如限制同时进餐人数(扣1分)。使用整型变量而非信号量进行资源管理是根本性错误。
(3)资源释放逻辑(满分2分)
得分:1分
理由:学生正确地在进餐后释放了两根筷子和碗(1分)。但由于使用整型变量而非信号量,无法正确唤醒等待进程(扣1分)。释放资源时使用了互斥保护,这一点正确。
(4)整体结构与死锁预防(满分1分)
得分:0分
理由:学生的方案没有有效防止死锁。当所有哲学家同时申请资源时,仍可能出现循环等待。没有采用标准答案中通过限制碗数量来限制同时进餐人数的关键机制。
题目总分:1+1+1+0=3分
登录后发布评论
暂无评论,来抢沙发