进程管理——PV操作

1、概述

   PV操作是一种实现进程互斥与同步的有效方法。 PV操作与信号量的处理相关,P表示通过的意思,V表示释放的意思。

  为什么叫PV操作,原来这是狄克斯特拉用荷兰文定义的,因为在荷兰文中,通过叫passeren,释放叫vrijgeven,PV操作因此得名。

  • 临界资源:进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
  • 临界区:每个进程中访问临界资源的那段代码称为临界区。
  • 信号量:是一种特殊的变量。

PV操作图示
在这里插入图片描述




2、生产者与消费者的PV操作

单缓冲区生产者、消费者问题
生产者:                消费者:
    生产一个产品;            P(S2);
    P(S1);                从缓冲区取产品;
    送产品到缓冲区;            V(S1);
    V(S2);                消费产品;

S1初值为1,S2初值为0

生产者pv操作图示:
在这里插入图片描述
消费者pv操作图示:
在这里插入图片描述




3、练习题1

  某书店有一个收银员,该书店最多允许n个购书者进入。将收银员和购书者看作不同的进程,其工作流程如下图所示。利用PV操作实现该过程,设置信号量S1、S2和Sn,初值分别为0,0,n。则图中a1,a2应填入( _ 1 _ ),图中b1和b2应填入( _ 2 _ )。

在这里插入图片描述

(1)A.P(S1)、V(S2)   B. V(Sn)、P(Sn)   C. P(S1)、V(S2)   D. P(S2)、V(S1)

(2)A.P(Sn)、V(S2)   B. V(Sn)、P(S2)   C. P(S1)、V(S2)   D. P(S2)、V(S1)

答案:(1) A、(2) C 。  (提示:鼠标选择查看答案)

参考思路:

  • 购书者付费——需要收银员操作(存在制约关系,如:收银员不在收银台或者在睡觉,需要购书者唤醒)。
  • 购书者离开书店——需要收银员将书消磁和开发票——购书者需要出示发票通过门禁——才能正常合法离开书店。
  • 9
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天界程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值