操作系统之前驱关系

首先明晰一下前驱图,前趋图是一个有向无循环图,用于描述程序段或进程之间执行的先后顺序。图中的结点用于表示一个程序段或一个进程,结点间的有向边用于表示两个结点之间存在的偏序或前趋关系“→”。

在前趋图中,把没有前趋的结点称为初始结点,把没有后继的结点称为终止结点

顺序执行

既然有了箭头,就不得不说顺序执行,顺序执行有三个特性:

顺序性:处理机的操作必须严格按照程序所规定的顺序执行。
封闭性:程序在执行时独占系统的全部资源,机器资源状态的改变只与执行的程序有关,而与外界环境无关。
可再现性:只要初始条件相同,一个程序的多次重复执行,将得到相同的结果。

并发执行

有先后必然就有同时,同时即并发。也具有三个特性:
间断性:由于资源共享和相互合作,并发执行的程序间形成了相互制约关系,导致程序的运行过程出现“执行-暂停-执行”的现象。
失去封闭性:程序在执行时与其他并发执行的程序共享系统的资源,因此,资源状态的改变还与其他程序有关,即程序本身的执行环境要受到外界程序的影响。
不可再现性:同样的初始条件,一个程序的多次重复执行,可得到不同的结果。

后两者与顺序执行相对应,封闭与失去封闭,再现与不可再现。

例题:
画出下面四条语句的前驱图:

S1:a=x+y;
S2: b=z+1;
S3: c=a-b;
S4: w=c+1;

首先看一下S1234的等号左边,分别是abcw,其中S1和S2中的等号右边不含abcw,故将S1和S2设为初始结点,S3的等号右边需要S1和S2,故此处为并发执行。故答案显而易见。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43277404/article/details/84629086