临界资源与临界区
一次只能给一个进程使用的资源称为临界资源(首先得是公共资源,有些资源如私有资源,它只能给一个进程使用,不存在临界问题),访问临界资源的那段代码称为临界区。
进程间的相互制约关系
同步
直接制约关系,进程A通过缓冲区向进程B提供数据;当缓冲区空时,进程B不能获得数据而阻塞,一旦进程A将数据送入缓冲区,进程B被唤醒;反之,缓冲区满时,进程A被阻塞,仅当进程B取走数据时,才唤醒进程A。
互斥
间接制约关系,进程A进入临界区访问临界资源,此时进程B必须等待,当进程A退出临界区,进程B才能进入临界区访问临界资源。