1,第三章 同步、通信与死锁,2,3.1 进程的同步与互斥 在多道程序的环境中,系统中的多个进程可以并发执行,同时它们又要共享系统中的资源,由此诸进程间会产生错综复杂的相互制约的关系。 一、进程间制约关系 1.竞争关系 源于资源共享,多个不存在逻辑关系的进程因共享资源而产生制约关系。 若一个进程要求使用某一资源,而该资源正被另一个进程使用,并且这一资源不允许两个进程同时访问,那么该进程只有等待,只有这一资源释放后才能使用。 2.协作关系 源于进程间的协作。 一组进程为完成共同任务分工协作,各进程都独立以不可预知速度推进,在执行的先后次序就有约束,在一些关键点上协调工作。若一个进程运行到某关键点时,在尚未收到另一协作进程发来的信息前应阻塞自己,等协作进程发来消息后方可继续执行。,进程资源进程,进程进程,3,进程间这种相互依赖又相互制约,相互协作又相互竞争的关系,主要表现在进程互斥和进程同步两方面 二、进程互斥 引例: 宿舍电话的使用 打印机的使用 1、临界资源 一次仅允许一个进程使用的资源称为临界资源。 引例中的电话和打印机都属于临界资源。还有光盘刻录机、绘图仪、共享变量、共享的