文章

20

粉丝

0

获赞

0

访问

592

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

由题意可得碗和筷子是互斥资源,哲学家们是同步进程。

因此有信号量mutex_bowl[m],muteax_kuaizi[n/2]

{

wait(mutex_bowl[m]);

wait(mutex_kuaizi[n/2]);

就餐;

signal(mutex_kuaizi[n/2]);

signal(mutex_bowl[m]);

}


评分及理由

(1)得分及理由(满分8分)

得分:2分

理由:

  • 学生正确识别了碗和筷子是互斥资源,这是基本概念正确(+1分)
  • 学生尝试使用信号量机制解决问题,方向正确(+1分)
  • 但存在严重逻辑错误:
    • 信号量定义错误:mutex_bowl[m]和mutex_kuaizi[n/2]的表示方式不正确,应该使用单个信号量表示碗资源,数组信号量表示筷子资源(-2分)
    • 筷子获取方式错误:没有分别获取左右两边的筷子,而是用一个信号量表示所有筷子(-2分)
    • 缺少防止死锁的关键机制:没有限制同时就餐人数,标准答案通过碗的数量限制来防止死锁(-2分)
    • 信号量操作不完整:缺少哲学家交替思考和就餐的循环结构(-1分)
  • 整体实现与标准答案差距很大,只能给基础分

题目总分:2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发