您的位置:首页 > 其它

进程的概念和特征

2015-06-20 20:50 239 查看


进程的概念

在多道程序环境下,允许多个程序并发执行,此时它们将失去封闭性,并具有间断性及不可再现性的特征。为此引入了进程(Process)的概念,以便更好地描述和控制程序的并发执行,实现操作系统的并发性和共享性。

为了使参与并发执行的程序(含数据)能独立地运行,必须为之配置一个专门的数据结构,称为进程控制块(Process Control Block, PCB)。系统利用PCB来描述进程的基本情况和运行状态,进而控制和管理进程。相应地,由程序段、相关数据段和PCB三部分构成了进程映像(进程实体)。所谓创建进程,实质上是创建进程映像中的PCB;而撤销进程,实质上是撤销进程的PCB。值得注意的是,进程映像是静态的,进程则是动态的。

注意:PCB是进程存在的唯一标志!

从不同的角度,进程可以有不同的定义,比较典型的定义有:

进程是程序的一次执行过程。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

在引入进程实体的概念后,我们可以把传统操作系统中的进程定义为:”进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。“


进程的特征

进程是由多程序的并发执行而引出的,它和程序是两个截然不同的概念。进程的基本特征是对比单个程序的顺序执行提出的,也是对进程管理提出的基本要求。

动态性:进程是程序的一次执行,它有着创建、活动、暂停、终止等过程,具有一定的生命周期,是动态地产生、变化和消亡的。动态性是进程最基本的特征。
并发性:指多个进程实体,同存于内存中,能在一段时间内同时运行,并发性是进程的重要特征,同时也是操作系统的重要特征。引入进程的目的就是为了使程序能与其他进程的程序并发执行,以提高资源利用率。
独立性:指进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位。凡未建立PCB的程序都不能作为一个独立的单位参与运行。
异步性:由于进程的相互制约,使进程具有执行的间断性,即进程按各自独立的、 不可预知的速度向前推进。异步性会导致执行结果的不可再现性,为此,在操作系统中必须配置相应的进程同步机制。
结构性:每个进程都配置一个PCB对其进行描述。从结构上看,进程实体是由程序段、数据段和进程控制段三部分组成的。

进程与程序的区别:

1.程序是进程的静态文本,进程是执行程序的动态过程;

2.一个进程可以执行一个或多个程序,几个进程可以同时执行一个程序;

3.程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;

4.进程是系统分配调度的独立单位,能与其他进程并发执行。


进程状态及其演变:

进程执行的间断性,决定了进程可能具有多种状态。事实上,运行的进程可能具有就绪状态

    执行状态阻塞状态三种基本状态。


  进程基本状态演示图


进程的三种基本状态演变图如左图所示。

当进程已分配到除CPU以外的所有必要资源时,它便处于就绪状态

一旦获得CPU,便立即执行。

已获得CPU的进程进入执行状态

正在执行的进程,由于发生某个事件而暂时无法执行时,便放弃处

理机而进入阻塞状态

由于执行的进程变为阻塞状态后,调度程序立即把处理机分配给另

一个就绪进程;因此,阻塞进程的事件消失后,进程不会立即恢复到

行状态,而转变为就绪状态,重新等待处理机。


            具有挂起操作的
进程状态演变图


在实际系统中,进程还有其它几个状态。

有的系统有时希望能人为地把进程挂起,使之处于静止

状态,以便研究其执行情况或对它进行修改。

左图示出了具有挂起状态的进程状态演变图。

进程控制块PCB:

为了描述和控制进程的运行,系统为每个进程定义了一个数据结构--进程控制块PCB,它是进程

存在的唯一标志。【进程控制块PCB:(Process Control Block)这是为使多个程序能并发执行而为

每个程序所配置的一个数据结构,其中存放了用于描述该进程情况和控制进程运行所需的全部信息】


进程控制块的内容:


进程标识符

标识一个进程的编号,也称为进程的内部名。
现行状态
说明进程的当前状态。
现场保留区
保存进程由执行状态变为其它状态时的CPU现场信息。
程序与数据地址
该进程的程序和数据所在位置信息。
互斥与同步机构
实现进程间互斥与同步时所必须的机构。
进程通信机制
用于实现进程间的通信所需的数据结构。
优先级
表示进程使用CPU时优先级别的一个整数。
资源清单
列出进程拥有的资源的记录。
连接字
给出本进程所在队列中的下一个进程的PCB首址。
家族联系
用于说明本进程与其它家族成员间的关系。

进程控制块的组织方式:

为了有效地对进程控制块进行管理,应该采用适当的方式把它们组织起来。

目前常用的组织方式有以下两种:

链接方式组织PCB




索引方式组织PCB



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: