文章

412

粉丝

1102

获赞

1723

访问

141w

头像
【2019年】408计算机统考真题模拟考试 - 第43题答案笔记
操作系统
发布于2025年5月15日 14:04
阅读数 154

计算机考研408统考历年真题及答案解析

Semaphore chopstick={1,1,....1}//n个筷子

Semaphore max=n-1//最多允许n-1个哲学家用餐

Semaphore bowl=min(m,n-1)//碗比人少时,保证每个用餐的哲学家都有碗可用

p(max);

p(chop[i]);//取左筷子

p((chop[i]+1)%n);//取右筷子

p(bow);

用餐;

v(chop[i]);

v((chop[i]+1)%n);

v(bowl);

v(max);

思考;


评分及理由

(1)得分及理由

得分:2分

理由:学生正确定义了筷子的信号量(chopstick)并初始化,符合题目要求。这部分没有逻辑错误。

(2)得分及理由

得分:2分

理由:学生正确定义了碗的信号量(bowl)并初始化为min(m, n-1),符合题目要求。这部分没有逻辑错误。

(3)得分及理由

得分:2分

理由:学生正确定义了最大可进餐名额的信号量(max)并初始化为n-1,符合题目要求。这部分没有逻辑错误。

(4)得分及理由

得分:1分

理由:学生在P、V操作的顺序上存在逻辑错误。正确的顺序应该是先获取碗(bowl),再获取筷子(chopstick)。学生的顺序是先获取max,再获取筷子,最后获取bowl,这可能导致死锁或资源分配不合理。此外,学生将bowl拼写为bow,这是一个小错误。

(5)得分及理由

得分:1分

理由:学生在释放资源的顺序上基本正确,但拼写错误(bowl拼写为bow)和多余的max信号量的释放(max信号量在题目中并未要求)影响了得分。

题目总分:2+2+2+1+1=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发