文章

302

粉丝

0

获赞

15

访问

52.2k

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


评分及理由

(1)信号量定义及初始化(满分2分)

学生答案中定义了`max`信号量,初值为`min(n-1, m)`,与标准答案中`bowls`信号量的含义和初值一致,正确限制了同时就餐的哲学家数量以防止死锁。同时定义了筷子信号量数组`chop[n]`并初始化为1,正确表示了筷子的互斥访问。此处逻辑完全正确,得2分。

(2)哲学家进程的P、V操作顺序(满分6分)

学生答案中哲学家进程的逻辑为:先P(max),然后依次获取左右筷子,进餐后按相反顺序释放筷子,最后V(max)。这个顺序与标准答案一致,能够保证: - 通过限制同时拿碗的数量来防止死锁 - 正确实现了对筷子的互斥访问 - 避免了死锁的发生 但是学生答案中获取筷子的顺序为:先右筷子`(i+1)%n`,后左筷子`(i-1+n)%n`,这与标准答案中先左后右的顺序不同。不过由于所有哲学家都采用相同的获取顺序(都是先右后左),这同样可以避免死锁,是另一种正确的实现方式。因此此处逻辑正确,得6分。

题目总分:2+6=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发