进程同步:(1) 间接相互制约关系。同处于一个系统中的进程,通常都共享着某种系统资源,如共享CPU、共享I/O 设备等。所谓间接相互制约即源于这种资源共享,例如,有两个进程A和B,如果在A 进程提出打印请求时,系统已将惟一的一台打印机分配给了进程B,则此时进程A只能阻塞;一旦进程B将打印机释放,则A进程才能由阻塞改为就绪状态。(2) 直接相互制约关系。这种制约主要源于进程间的合作。例如,有一输入进程A通过单缓冲向进程B 提供数据。当该缓冲空时,计算进程因不能获得所需数据而阻塞,而当进程A把数据输入缓冲区后,便将进程B唤醒;反之,当缓冲区已满时,进程A因不能再向缓冲区投放数据而阻塞,当进程B将缓冲区数据取走后便可唤醒A。
时间: 2024-09-30 15:01:20