文章

101

粉丝

0

获赞

1

访问

30.5k

头像
2013年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年10月31日 16:51
阅读数 49

Semaphore full=500;//图书馆内人数

Semaphore door=1;//互斥使用门

cobegin

参观者进程i
{
p(full);

p(door);

进门;

v(door);

参观;

p(door);

出门;

v(door);

v(full);
}

coend;


评分及理由

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

得分:3分

理由:学生定义了两个信号量:full=500和door=1。其中door=1用于互斥控制出入口,含义和初值正确(2分)。full=500的含义是"图书馆内人数",但实际应该表示剩余可容纳人数(即空位数量),学生使用了full这个名称但初值设为500,这与标准答案的empty含义相反,但逻辑上可以通过P(full)和V(full)正确控制人数(1分)。扣1分是因为信号量命名不够准确,可能引起理解上的混淆。

(2)互斥操作得分及理由(满分2分)

得分:2分

理由:学生对door信号量的P、V操作完全正确。在进门和出门操作前后都正确使用了P(door)和V(door)来保证出入口的互斥使用,符合题目要求。

(3)同步操作得分及理由(满分1分)

得分:1分

理由:学生对full信号量的P、V操作位置正确。P(full)在进门前确保博物馆未满,V(full)在出门后释放一个位置,虽然信号量命名与标准答案不同,但逻辑功能完全正确。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发