文章

144

粉丝

0

获赞

0

访问

9.6k

头像
2019年计算机学科专业基础综合试题 - 第43题回答
操作系统
发布于2025年10月27日 18:14
阅读数 4


评分及理由

(1)信号量定义部分得分及理由(满分2分)

学生定义了chopsticks数组(虽然误写为chostick)和bowl信号量,但存在以下问题:
- chopsticks数组大小写为7,但题目中n≥3未指定具体值,这里应使用n,但考虑到可能是示例性写法,不扣分
- bowl信号量初值设为1,但题目要求m≥1且要支持尽可能多的人同时就餐,标准答案使用min(n-1,m)作为碗的数量限制,这里bowl=1严重限制了并发度,不符合题目要求
- 定义了未使用的mutex信号量,属于多余信息但不影响核心逻辑
扣1分,得1分

(2)哲学家进程逻辑部分得分及理由(满分6分)

学生采用了奇偶编号不同顺序拿筷子的策略,这是解决哲学家就餐问题的有效方法之一:
- 正确使用了P、V操作来获取和释放资源
- 通过奇偶编号不同的拿取顺序破坏了循环等待条件,可以有效防止死锁
- 碗的获取和释放位置正确
- 但bowl信号量初值设为1严重限制了并发度,不符合"使尽可能多的哲学家同时就餐"的要求
扣2分,得4分

题目总分:1+4=5分

总体评价:学生的答案在防止死锁方面采用了有效的策略(奇偶编号不同顺序),核心逻辑正确,但未能正确处理碗的数量限制问题,限制了系统的并发性能。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发