文章

438

粉丝

0

获赞

0

访问

74.9k

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


评分及理由

(1)信号量定义及初值设置(满分3分)

得分:3分

理由:学生正确定义了碗信号量bowl,其初值设置为min(m, n-1),与标准答案思路一致。同时正确定义了筷子信号量数组chop[n],并初始化为1。虽然代码中使用了条件表达式(m < n)? m : n-1,这与标准答案的min(n-1, m)在逻辑上是等价的,思路正确不扣分。

(2)哲学家进程的同步互斥实现(满分4分)

得分:4分

理由:学生正确实现了哲学家的行为逻辑:先思考,然后按顺序获取碗、左筷子、右筷子,进餐后按相反顺序释放资源。P、V操作的使用顺序正确,能够防止死锁并确保尽可能多的哲学家同时就餐。碗信号量的引入限制了同时进餐的哲学家数量,避免了死锁问题。

(3)代码完整性和规范性(满分1分)

得分:1分

理由:代码结构完整,包含了必要的信号量定义、初始化和哲学家进程的逻辑。虽然存在一些语法细节问题(如"哲学家_i()"的写法),但这些属于识别问题或代码规范问题,不影响核心逻辑的正确性,按照评分要求不扣分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发