7、进程同步、进程互斥

  • 思维导图
  • 1、进程同步
  • 异步性:
  • 什么是进程同步?
  • 2、进程互斥
  • 什么是进程互斥?
  • 临界资源的互斥访问步骤?
  • 进程的原则


思维导图

进程同步 rpc 进程同步与互斥流程图_进程互斥

1、进程同步

异步性:

进程同步 rpc 进程同步与互斥流程图_进程同步 rpc_02

进程的执行各自独立、不可预知,所以:
假如现在有四条指令(如图),由于进程执行的异步性,所以可能会产生俩种方案(如图);现在我们想要的结果是(如图),那么,就需要一定的机制来确保他选择第一个方案而不选择第二个方案;为解决这个问题,此时就需要用到进程同步机制

什么是进程同步?

进程同步 rpc 进程同步与互斥流程图_数据_03

如上图,在我们用管道进行数据读写时,需要先在管道中写入数据,然后才能读出数据,这样俩个相互合作的进程共同完成数据的读写操作,但是他们需要有一定的顺序,例如,只有你写入管道数据后你才可以读出数据;而进程同步就是为了解决读和写的工作次序问题而产生的。

2、进程互斥

什么是进程互斥?

进程同步 rpc 进程同步与互斥流程图_进程同步_04

现在这样一个情况;就是你在访问打印机资源时,当前一个人正在使用打印机时,你就必须得等到他打印完成之后你才可以接着打印;这样的情况说明,你和前一个打印的人不可以同时使用打印机这个资源;那将俩个人当作俩个进程时,说明俩个进程不可以同时访问打印机资源,我们称这种现象为进程互斥打印机资源称为临界资源只有进入临界区的进程才有资格访问临界资源。

临界资源的互斥访问步骤?

进程同步 rpc 进程同步与互斥流程图_进程互斥_05

问题:当进程暂时无法进入临界区时,该进程是否要一直占用CPU呢?这就需要了解一下进程互斥的原则了

进程的原则

进程同步 rpc 进程同步与互斥流程图_进程同步_06


那我们又要如何实现这种进程互斥呢?

见下篇:

8、进程互斥的软件实现方法
9、进程互斥的硬件实现方法