进程管理——PV操作

1、概述

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

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

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

PV操作图示
进程管理——PV操作_第1张图片




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

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

S1初值为1,S2初值为0

生产者pv操作图示:
进程管理——PV操作_第2张图片
消费者pv操作图示:
进程管理——PV操作_第3张图片




3、练习题1

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

进程管理——PV操作_第4张图片

(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 。  (提示:鼠标选择查看答案)

参考思路:

  • 购书者付费——需要收银员操作(存在制约关系,如:收银员不在收银台或者在睡觉,需要购书者唤醒)。
  • 购书者离开书店——需要收银员将书消磁和开发票——购书者需要出示发票通过门禁——才能正常合法离开书店。

你可能感兴趣的:(软考系统架构师,软考,高级架构师,pv操作,进程管理)