同步机构应遵循哪些基本准则?为什么?
答:在多道程序环境下,当程序并发执行时,由于资源共享和进程合作,使同处于一个系统中的进程之间可能存在着以下两种形式的制约关系
(1)间接相互制约关系,同处于一个系统中的进程,通常都共享着某种资源。
(2)直接相互制约关系,这种制约主要源于进程间的合作。所以使用系统中的临界资源时,诸进程应采取互斥方式,实现对资源的共享。为实现进程互斥的进入自己的临界区,可用软件方法,但更多的是在系统中设置专门的同步机制来协调各进程间的运行。
所有的同步机制都应遵循以下四条准则:
(1)空闲让进:因为,当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。
(2)忙则等待:因为,当已有进程进入临界区时,表明临界资源正在被访问,因而其它试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。
(3)有限等待:因为,对要求访问的临界资源的进程,应保证在有限时间内能进入自己的临界区,以免陷入“死等”状态。
(4)让权等待:因为,当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态