文章
57
粉丝
0
获赞
0
访问
6.9k
semaphore mutex=1, empty=500, full=0;
cobegin
参观者进程i;
{
P(empty); // 博物馆容量500人,进一个人容量减一个
P(mutex); // 进门需要控制人流
进门;
V(mutex); // 游客进门,解除门口限流
参观;
P(mutex); //
出门;
V(mutex); //
V(empty); //
}
coend
评分及理由
(1)信号量定义及含义(满分4分)
得分:3分
理由:学生正确定义了mutex和empty信号量,并给出了正确的初值(mutex=1,empty=500)。但额外定义了一个不必要的full信号量(初值为0),这个信号量在标准答案中并不需要,属于冗余定义。由于信号量含义说明不完整,扣1分。
(2)mutex的P、V操作(满分2分)
得分:2分
理由:学生对mutex的使用完全正确,在进门和出门操作前后都正确地使用了P(mutex)和V(mutex)操作,实现了出入口的互斥访问。
(3)empty的P、V操作(满分1分)
得分:1分
理由:学生对empty信号量的使用完全正确,在进门前使用P(empty)控制人数,在出门后使用V(empty)释放人数计数。
题目总分:3+2+1=6分
登录后发布评论
暂无评论,来抢沙发