进程管理之PV操作

1、必备知识点

1.1 临界资源:进程对其互斥访问的资源,状态为0或1

1.2 临界区:每个进程中访问临界资源的那段代码

1.3 信号量:一种特殊变量(计数器)分为互斥信号量与同步信号量

2、PV操作

2.1 目的:解决互斥与同步问题

2.2 分类:

①P操作:使S=S-1,若S>=0,则进程继续执行
②V操作:使S=S+1,若S<=0,唤醒等待队列中的一个进程

2.3 举例理解(抢凳子游戏)
A,B,C,D依序抢三张凳子(S=3)
①执行P操作,四人依序抢凳,D未抢上则进入等待队列,其余三人坐好(此时S=-1)
②执行V操作,依序起身,A起身后空出凳,则将D从等待队列中唤醒

2.4 经典模型

生产者-消费者模型在这里插入图片描述

  • S1与S2都表示生产者和消费者能向/从市场中投放/拿走的资源个数
  • 生产者PV操作与消费者PV操作,可同步进行
  • 注意:类比多缓冲区会出现互斥现象。当生产者与消费者同时占用市场且资源不足的情况下,出现互斥现象,生产者与消费者的PV操作需要错开

打印机问题在这里插入图片描述

  • 此模型可用于上述多缓冲区问题。仓库为“打印机”,生产者与消费者有序用完仓库后返还仓库

3、补充

3.1 若一个进程已进入临界区,其他欲进入临界区的进程必须等待

3.2 信号量的物理意义是当信号量值大于0时表示系统当前可用资源数目;当信号量值小于0时,其绝对值为因请求该资源而被阻塞的进程数目

3.3 P、V操作都是原语操作。

3.4 利用信号量的P、V 操作只可以交换部分信息。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值