(六)互斥机制

2017-10-15  本文已影响20人  BubbleM

进程互斥

(竞争关系)由于各进程要求使用共享资源(变量、文件等),而这些资源需要排他性使用。各进程之间竞争使用这些资源,这一关系称为进程互斥。
临界资源critical resource:
系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享资源。
临界区(互斥区)critical section(region):
各个进程中对某个临界资源(共享变量)实施操作的程序片段。
实现进程互斥的方案:

  1. 软件方案:
  1. 硬件方案:

忙等待busy waiting:
进程在得到临界区访问权之前,持续测试而不做其他事情。
优先级反转(倒置):
基于优先级的抢占式的调度可能会导致优先级反转。

进程同步synchronization

(协作关系)指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。

信号量及PV操作

  1. 信号量
    一个特殊的变量,用于进程间传递信息的一个整数值。定义如下:
struc semaphore{
  int count;
  queueType queue;
}

对信号量只能实施3种操作:初始化,p,v(p、v分别是荷兰语的test(proberen)和incerment(verhogen))

p、v操作定义

经典的IPC问题

上一篇 下一篇

猜你喜欢

热点阅读