2.4 进程联系
- 顺序程序与顺序环境
- 并发环境与并发进程
- 与时间有关的不确定性
- 相交进程与无关进程
- 进程同步与进程互斥
一、顺序程序与顺序环境
(1)在顺序环境中:
程序的指令或者语句序列是顺序执行的
在计算机系统中只有一个程序在运行(单道环境)
一个进程/程序独占所有计算机资源
(2)顺序特征
- 顺序性执行
- 封闭独占资源
- 确定可再现性(即对于一个程序而言,只要输入相同,则输出也相同)
二、 并发环境与并发进程
(1)在并发环境中:
在一定时间内物理机器上有两个或者两个以上的程序 (多道环境)
程序处于开始运行但尚未结束的状态
程序执行次序不是事先确定的(不确定的)
(2)并发特征:
-
程序结果的不可再现性(即对于一个程序而言,尽管输入相同,但输出也不一定相同)
-
程序的执行呈现间断性 (程序的执行是会被打断的)
-
系统中各类资源共享
-
独立性和制约性
-
程序和计算不再对应
三、 与时间有关的不确定性
如:
系统中存在两个进程,两个进程都会对一个共享变量C做某一操作;
这样的话,两个进程执行顺序的不确定性对C的影响会导致变量C最终结果的不同;
类似的举例还有如终端订票进程等。
四、 相交进程与无关进程
(一)直接式制约与间接式制约
直接式制约: 直接作用,一般出现于两个合作关系的进程之间 (也就是说两个进程之间有 “通信的行为”,需要实时地“沟通交流”,以完成“最终任务”)
间接式制约: 间接作用,一般出现于两个没有合作关系的进程竞争资源
(二)相交与无关进程
相交进程: 并发进程在逻辑上有某种联系
无关进程: 逻辑上无任何联系的并发进程
直接式制约只会发生在相交进程之间,而间接式制约可以发生在相交进程或者无关进程之间;
五、 进程同步与进程互斥
(1)进程同步(直接作用): 根据一定的时序关系合作完成一项任务;
并发进程因直接制约而相互等待,彼此互相发送消息进行合作,使得各进程按照一定的速度执行;
进程间的相互联系是有设计者有意识的安排的,进程的同步实际上就是一种直接式制约;
(2)进程互斥(间接作用):各进程竞争使用临界资源;
临界资源:一次只允许一个进程使用的系统资源;
进程间通过如临界资源等中介发生了联系,是设计者无意识安排的;
进程互斥既可以发生在相交进程间,也可以发生在无关进程间;
(3)进程同步和互斥的关系:
互斥反映了进程间的竞争关系,而同步则反映了进程间的合作关系。
进程互斥是进程同步的一种特殊情况,因为互斥所涉及的进程之间没有固定的必然的联系,它们只是竞争获得共享资源的使用权;而同步所涉及的并发进程之间有一种必然的联系,即使资源可用,若没有获得同步消息,进程也不能去使用。