进程管理——PV操作

Posted 天界程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程管理——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 。  (提示:鼠标选择查看答案)

参考思路:

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

以上是关于进程管理——PV操作的主要内容,如果未能解决你的问题,请参考以下文章

计算机操作系统关于PV操作的一道题

进程相互作用之信号量PV操作及其代码实现

面试题:PV操作底层与原理

(王道408考研操作系统)第二章进程管理-第三节4:信号量机制(整型记录型信号量和PV操作)

操作系统基本原理

进程-PV操作