操作系统--进程的同步与异步
进程的同步
进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个进程,这些进程需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于它们之间的合作
比如进程A需要从缓冲区读取进程B产生的信息,当缓冲区为空时,进程B因为读取不到信息而被阻塞。而当进程A产生信息放入缓冲区时,进程B才会被唤醒
进程的互斥
-
临界资源:对于某些资源来说,其在同一时间只能被一个进程所占用。对于临界资源的访问,必须互斥的进行
-
比如打印机,许多变量、数据、内存缓冲区等都属于临界资源
-
进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态
比如进程B需要访问打印机,但此时进程A占有了打印机,进程B会被阻塞,直到进程A释放了打印机资源,进程B才可以继续执行
软件实现方式
单标志法
此种方式的缺陷
双标志先检查法
双标志后检查法
Peterson算法
硬件实现方式
中断屏蔽方法
TestAndSet方法
Swap指令