进程管理——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操作的主要内容,如果未能解决你的问题,请参考以下文章