进程之间的相互制约关系可分为以下两种:(1)由于竞争系统资源而引起的间接相互制约关系(2)由于进程之间存在共享数据而引起的直接相互制约关系
一、进程间关系
进程互斥、同步的概念是并发进程下存在的概念,有了并发进程,就产生了资源的竞争与协作,从而就要通过进程的互斥、同步、通信来解决资源的竞争与协作问题。
竞争关系和协作关系是进程之间存在的两个基本关系。
二、进程间的关系协调
第一种关系为竞争关系,通过互斥来协调。资源竞争容易出现两个问题:死锁问题和饥饿问题
第二种关系是协作关系,通过同步和通信来协调。一般同步是指并发进程在一些关键点上需要相互等待与互通消息,这种相互制约的等待与互通消息称为进程同步。
三、互斥和同步的实现
临界资源:以此仅允许一个进程使用的资源
临界区:在每个进程中,访问临界资源的那段程序能够从概念上分离出来,称为临界区或者临界段。
互斥:在操作系统中,当某一进程正在访问某一存储区域时,就不允许其他进程来读出或者修改该存储区的内容,否则就会发生后果无法估计的错误。
同步:并发进程在一些关键点上需要相互等待与互通消息,这种相互制约的等待与互通消息称为进程同步。
(1)互斥的实现
**·**上锁原语和开锁原语实现进程互斥
**·**信号灯实现进程互斥
(2)同步的实现