文章

316

粉丝

0

获赞

0

访问

47.6k

头像
2013年计算机学科专业基础综合试题 - 第45题回答
操作系统
发布于2025年9月6日 20:59
阅读数 155

semaphore mutex=1,full=0,empty=500;

cobegin
参观者进程i:
{
    p(empty);

     p(mutex);
        进门;

    v(mutex);

     v(full);
      参观;

  P(mutex);
      出门;
   v(mutex);

   p(full);

   v(empty);
}
coend


评分及理由

(1)信号量定义及初值(满分4分)

学生定义了三个信号量:mutex=1(正确,用于出入口互斥),empty=500(正确,表示剩余容量),但额外定义了full=0(冗余,标准答案中不需要)。信号量含义说明缺失(题目要求说明含义,但学生作答未提供文字说明)。扣分:因多余信号量full和未说明含义,扣2分。得分:2分。

(2)对empty的P、V操作(满分1分)

学生使用P(empty)在进门前检查容量(正确),V(empty)在出门后释放容量(正确)。但V(empty)前有P(full)操作,这是多余的,但未影响empty操作本身的正确性。因此不扣分。得分:1分。

(3)对mutex的P、V操作(满分2分)

进门和出门时均正确使用P(mutex)和V(mutex)实现互斥(正确)。但出门后多了一个P(full)操作,这是逻辑错误(full信号量多余且P(full)会错误阻塞进程),但mutex操作本身正确。因此不扣分。得分:2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发