文章

205

粉丝

0

获赞

0

访问

48.1k

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


评分及理由

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

学生定义了bowl和chops两个信号量,bowl初值为m,chops数组初值全为1,这部分与标准答案基本一致。但标准答案中bowl的初值应为min(n-1, m),而学生直接使用m,这可能导致同时进餐的哲学家数量超过n-1,不符合"防止死锁"的要求。扣1分。

得分:1分

(2)筷子获取策略部分得分及理由(满分4分)

学生采用了奇偶哲学家不同的筷子获取顺序(奇数先右后左,偶数先左后右),这是一种有效的死锁避免策略。但是学生的j,k赋值逻辑存在严重问题:j = i%n; k = n-1 和 j = n-1; k = i%n 这样的赋值不能正确表示左右筷子的索引。正确的应该是左边筷子为i,右边筷子为(i+1)%n。这个逻辑错误会导致哲学家无法正确获取相邻的筷子。扣3分。

得分:1分

(3)整体逻辑结构部分得分及理由(满分2分)

学生的代码结构基本正确,包含了P、V操作的配对使用,有完整的获取资源、就餐、释放资源的流程。但由于前面两个部分存在严重问题,影响了整体逻辑的正确性。扣1分。

得分:1分

题目总分:1+1+1=3分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发