一、进程的基本概念
1 程序的顺序执行与并发执行
(1)前驱图
概念:前驱图是一个有向无循环图,记为DAG,可用于描述进程之间执行的前后关系。无循环关系可实现顺序执行。
结点:一个程序段、进程或一条语句;
有向边:两个结点之间的前趋关系;
重量:结点所含有的程序量或执行时间;
直接前驱、直接后继、开始结点、终止结点
以上前趋图,存在的前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9;
或表示为:P={P1,P2,P3,P4,P5,P6,P7,P8,P9} →={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}
注意:前趋图中必须不存在循环。如下图不是前趋图:
(2)程序的顺序执行
程序的顺序执行如图:
在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。一道程序执行完后另一道才能开始。
特征:顺序性:一个程序开始执行必须要等到前一个程序已执行完成。
封闭性:程序运行时独占计算机资源,资源的状态只能由本程序修改。程序一旦开始执行,其计算结果不受外界因素影响。
可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相同的输入,一定会得到相同的结果。
程序顺序执行处理器利用率举例:
(3)程序的并发执行
概念:所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。
特征:间断性
失去程序的封闭性:程序在并发执行时,是多个程序共享系统中的资源,因此这些资源的状态将由多个程序来改变。
不可再现性
2 进程的定义
定义:进程是可并发执行的程序在一个数据集合上的运行过程。进程是指进程实体的运行过程。
性质:进程是一个程序与其数据一道通过处理机的执行所发生的活动。进程是指进程实体的运行过程,是系统进行资源分配和调度的独立单位
进程同程序的比较:程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。
程序是静态的,进程是动态的;
程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的;
进程更能真实地描述并发,而程序不能;
进程是由程序和数据、进程控制块PCB三部分组成的;
进程具有创建其他进程的功能,而程序没有;
同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程 ;
3 进程的特征