操作系统--进程的同步与异步

进程的同步

进程同步也是进程之间直接的制约关系,是为完成某种任务而建立的两个或多个进程,这些进程需要在某些位置上协调它们的工作次序而等待、传递信息所产生的制约关系。进程间的直接制约关系来源于它们之间的合作

比如进程A需要从缓冲区读取进程B产生的信息,当缓冲区为空时,进程B因为读取不到信息而被阻塞。而当进程A产生信息放入缓冲区时,进程B才会被唤醒

image-20220731161742983


进程的互斥

  • 临界资源:对于某些资源来说,其在同一时间只能被一个进程所占用。对于临界资源的访问,必须互斥的进行

    • 比如打印机,许多变量、数据、内存缓冲区等都属于临界资源

image-20220731162638035

进程互斥是进程之间的间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态

比如进程B需要访问打印机,但此时进程A占有了打印机,进程B会被阻塞,直到进程A释放了打印机资源,进程B才可以继续执行

image-20220731163327376

image-20220731162834380

实现方式

软件实现方式

image-20220731165016914

单标志法

image-20220731163902645

此种方式的缺陷

image-20220731164027866

双标志先检查法

image-20220731164316479

双标志后检查法

image-20220731164525051

Peterson算法

image-20220731164901781


硬件实现方式

image-20220731165708317

中断屏蔽方法

image-20220731165210266

TestAndSet方法

image-20220731165515737

Swap指令

image-20220731165632720

posted @ 2022-07-31 16:59  伊文小哥  阅读(247)  评论(0编辑  收藏  举报