7、进程同步、进程互斥
- 思维导图
- 1、进程同步
- 异步性:
- 什么是进程同步?
- 2、进程互斥
- 什么是进程互斥?
- 临界资源的互斥访问步骤?
- 进程的原则
思维导图
1、进程同步
异步性:
进程的执行各自独立、不可预知,所以:
假如现在有四条指令(如图),由于进程执行的异步性,所以可能会产生俩种方案(如图);现在我们想要的结果是(如图),那么,就需要一定的机制来确保他选择第一个方案而不选择第二个方案;为解决这个问题,此时就需要用到进程同步机制。
什么是进程同步?
如上图,在我们用管道进行数据读写时,需要先在管道中写入数据,然后才能读出数据,这样俩个相互合作的进程共同完成数据的读写操作,但是他们需要有一定的顺序,例如,只有你写入管道数据后你才可以读出数据;而进程同步就是为了解决读和写的工作次序问题而产生的。
2、进程互斥
什么是进程互斥?
现在这样一个情况;就是你在访问打印机资源时,当前一个人正在使用打印机时,你就必须得等到他打印完成之后你才可以接着打印;这样的情况说明,你和前一个打印的人不可以同时使用打印机这个资源;那将俩个人当作俩个进程时,说明俩个进程不可以同时访问打印机资源,我们称这种现象为进程互斥。打印机资源称为临界资源。只有进入临界区的进程才有资格访问临界资源。
临界资源的互斥访问步骤?
问题:当进程暂时无法进入临界区时,该进程是否要一直占用CPU呢?这就需要了解一下进程互斥的原则了
进程的原则
那我们又要如何实现这种进程互斥呢?
见下篇:
8、进程互斥的软件实现方法
9、进程互斥的硬件实现方法