图2.24用Petri网描述了在一个多任务系统中的两个进程PR1和PR2使用一个公共资源R时,利用原语LOCK(对资源加锁)和UNLOCK(对资源解锁)控制R的使用,保证进程间的同步的例子。
|
 |
图2.24 进程同步机制的PNG
|
图中每个进程是一个数据对象,它有三个状态:等待资源(p1或p4),占用资源执行的处理(p2或p5),不占用资源执行的处理(p3或p6),另外系统有一个状态:资源空闲(p7)。在有的状态中有一个黑点" ",称为标记或令牌,表明系统或对象当前正处于此状态。当作为一个事件的输入的所有状态都得到或保有令牌时,才能引起该事件"激发"。使得系统和对象的状态向前推移,完成系统和对象的某些行为。
|
|