PV 操作详解

最近在准备软考,刷了很多题,但是对PV操作的题型始终保持了一种似懂非懂的状态,所以特地拿出时间梳理下关于PV操作的题型,在这里也分享一下,希望对大家有所帮助

话不多少,进入正题

-----------------------------------------------------------------------------

首先 简单理解下pv 操作

------------------------------------------------------------------------------

P操作——申请资源

V操作——释放资源

信号量——控制资源

同步:协作的过程,例如,多人开发合作;

互斥:争抢资源

临界区:进程中对临界资源实施操作的那段程序;

临界资源:一次只能一个进程使用的资源,例如打印机;

------------------------------------------------------------------------------

接下来 用最常见的 生产者消费者来解析一下(想了想 还是图片比较容易理解)

PV 操作详解_第1张图片

过程:

生产者过程

1,生产者申请资源                                                                                    P(s1)

2,判断资源是否满足条件,即信号量                                                      s1=n(初始时仓库为空,所以s1初始信号为n)(n 为仓库的容量)

3.1,资源满足进行生产,产品加入仓库                                                   s1>0  产品加入仓库,V(s2)  s2+1

3.2,资源不满足,等待资源释放(等待仓库空出来)                             s1<=0  等待消费者进行消费

消费者过程

1,消费者申请资源                                                                                 P(s2)

2,判断资源是否满足条件,即信号量                                                    s2=0(初始仓库为空,所以初始信号为0)

3.1,资源满足进行生产,产品取出仓库                                                 s2>0 () 产品取出仓库 V(s1) s1+1

3.2,资源不满足,等待资源释放(等待仓库中存入产品)                    s2<=0 仓库无产品,等待生产者生产

PV 操作详解_第2张图片

PV 操作详解_第3张图片

-------------------------------------------------------------------------------------------------------------

后续碰到pv 的题目会陆续的往上添加,先写到这吧。。。有不懂得朋友可以在下面评论,大家一起讨论下

你可能感兴趣的:(操作系统)