文章

51

粉丝

0

获赞

2

访问

2.2k

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


评分及理由

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

得分:0分

理由:学生定义了kuaizi和wan两个信号量,但kuaizi初值设为n/2是错误的,应该为n(每根筷子一个信号量,初值为1)。碗信号量初值m正确但缺少对最大进餐人数的限制(应为min(m, n-1))。信号量定义存在逻辑错误。

(2)筷子获取方式部分得分及理由(满分3分)

得分:0分

理由:学生使用了两种不同的条件判断来获取资源,但都没有正确实现哲学家进餐问题的同步机制。第一种通过哲学家编号奇偶性判断,第二种条件判断逻辑混乱,都没有正确实现对两根筷子的原子性获取,无法避免死锁。

(3)资源释放部分得分及理由(满分3分)

得分:1分

理由:学生在两个条件分支中都包含了V(kuaizi)和V(wan)操作,体现了资源的释放,这部分基本正确。但由于获取资源的逻辑完全错误,释放操作的实际意义有限。

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

总体评价:学生的作答虽然涉及了信号量的P、V操作,但对哲学家进餐问题的核心同步机制理解不足,没有正确解决死锁问题,也没有合理限制同时进餐人数。代码逻辑混乱,无法实现题目要求的功能。

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发