易学笔记-系统分析师考试-第3章 操作系统基本原理/3.2 进程管理/3.2.2 信号量与PV操作

  • 进程制约方式
  1. 间接相互制约:也称为进程互斥;进程A与进程B都需要资源C(例如打印机),系统已将C分配给A使用,等待A使用完成后系统再将C分配给B使用
  2. 直接相互制约:也称为进程同步;A通过缓冲区向B提供数据,当缓冲区为空时B不能获取数据而阻塞;当A把数据放入缓冲区后B将被唤醒;当缓冲区是满时,A阻塞,只有当B把数据取走时A才能被唤醒
  • 信号量
  1. 概念:进行同步和互斥的保证机制
  2. 表达式:二元组(S,Q),其中S为整型变量,初始化值非负数;Q为初始状态为空的等待队列
    1. 值大于0:某类资源的数目
    2. 值小于0:等待该资源的进程数目
  3. PV操作
    1. 进行信号量操作的唯一过程
    2. P操作:信号量减去1,也就是系统分配一个资源给进程,若无资源则进程进入等待状态,记为:P(S)
    3. V操作:信号量加上1,若它的值小于表示从队列中唤醒一个进程 ,记为:V(S)
  • 实现互斥模型
  1. 概念:实现对临界资源使用
  • 原则:
    1. 为临界资源初始化信号量S值为1
    2. 同一个进程成对使用P(S)、V(S)操作,而且必须先P(S)、后V(S)
    3. 临界资源代码位于P(S)、V(S)之间
  • 实现同步模型
  1. 概念:实现对进程通信
  2. 原则:
    1. 为需要同步操作的逻辑块初始化信号量S值为0
    2. 一个进程使用P(S)操作,另外一个进程使用V(S)操作,哪个要阻塞哪个就用P操作
    3. 需要同步操作的逻辑块代码位于P(S)、V(S)之间
    4. 举例1:
    5. 举例2:

猜你喜欢

转载自blog.csdn.net/u011830122/article/details/84135864
今日推荐