1、西安理工大学 2006年第五章 并发进程及死锁问题 进程间的联系 进程的同步机制 信号量及 P.V操作(解决进程同步互斥问题)西安理工大学 2006年5.1 进程间的制约关系相交进程与无关进程相交进程:指多个并发进程在逻辑上有某种联系无关进程(不相交进程):在逻辑上无任何联系的进程西安理工大学 2006年直接作用和间接作用直接作用:进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间间接作用:进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间西安理工大学 2006年相互感知程度 交互关系 一个 进 程 对其他 进 程 的影响 相互不感知 (完全不
2、了解其它 进 程的存在) 竞 争(competition) 一个 进 程的操作 对 其他进 程的 结 果无影响 间 接感知 (双方都与第三方交互,如共享资 源 ) 通 过 共享 进 行协 作 一个 进 程的结 果依 赖 于从其他 进 程获 得的信息 直接感知 (双方直接交互,如通信 ) 通 过 通信 进 行协 作 一个 进 程的结 果依 赖 于从其他 进 程获 得的信息 西安理工大学 2006年进程的同步(直接作用)进程的同步: synchronism指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。 具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未
3、获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态西安理工大学 2006年例 :司机 P1 售票员 P2while (true) while (true) 启动车辆; 关门;正常运行; 售票;到站停车; 开门; 西安理工大学 2006年进程的互斥(间接作用) mutual exclusion由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥临界资源: critical resource系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量西安理工大学 2006年临界区(互斥区): critical section一个程序片段的集合,这些程序片段分散在不同的进程中,对某个共享的数据结构(共享资源)进行操作在进程中涉及到临界资源的程序段叫 临界区多个进程的临界区称为 相关临界区西安理工大学 2006年a := a -1 print (a)a := a +1 print (a)P1互斥P2互斥If a 0then a := a +1else a:= a-1P3互斥 进程的互斥(间接作用)西安理工大学 2006年