文章

83

粉丝

0

获赞

0

访问

6.3k

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


评分及理由

(1)信号量设计及初值含义(满分2分)

得分:1分

理由:学生使用了mutex信号量(初值1)来实现互斥,但缺少对碗资源的信号量控制。标准答案中使用bowls信号量(初值min(n-1, m))来控制同时进餐的哲学家数量以防止死锁,而学生仅用整型变量bowl和mutex来模拟,未正确使用信号量机制来管理碗资源。扣1分。

(2)筷子资源管理(满分2分)

得分:1分

理由:学生使用整型数组chopsticks[]表示筷子可用状态,但未使用信号量来管理筷子资源(标准答案使用chopsticks[i]信号量数组)。在P、V操作中,对筷子的获取和释放应通过信号量的P、V操作实现,而学生仅通过变量判断和赋值,不符合题目要求的信号量P、V操作描述。扣1分。

(3)防止死锁与同步机制(满分4分)

得分:1分

理由:学生通过mutex互斥访问所有资源,但这种方法会导致效率低下(一次只能有一个哲学家尝试获取资源),且未解决死锁问题(当所有哲学家同时持有左筷子时可能死锁)。标准答案通过限制碗数量为min(m, n-1)来破坏死锁必要条件,而学生方案未体现此思路。此外,学生代码中在if条件满足后break退出循环,但未处理不满足条件时的忙等待,同步机制不完整。扣3分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发