文章

132

粉丝

19

获赞

402

访问

73.4k

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


评分及理由

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

学生定义了三个信号量:bowl、chopsticks数组和count。其中bowl初值为m正确,chopsticks数组定义正确,但初始化语句"memset(chopsticks, n, 0)"存在逻辑错误,应该初始化为1而不是0,且memset函数使用不当。count信号量初值为n-1正确,用于限制同时进餐人数。由于初始化错误,扣1分,得1分。

(2)哲学家进程逻辑得分及理由(满分6分)

学生代码中:

  • 正确使用了P(count)来限制同时进餐人数
  • 正确使用了P(bowl)来获取碗资源
  • 正确按照顺序获取左右筷子
  • 正确按照相反顺序释放资源
  • 但缺少对碗数量m和最大进餐人数n-1的最小值限制,即应为min(m, n-1)
  • 第一次识别结果中有多余的P()操作,可能是识别错误

由于缺少min(m, n-1)的限制,这是一个逻辑缺陷,扣2分。得4分。

题目总分:1+4=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发