首页 百科知识 1.5.1进程的基本概念

1.5.1进程的基本概念

时间:2024-12-12 百科知识 版权反馈
【摘要】:动态性是进程的一个最基本的特征。又称等待、挂起,正在执行的进程因某种事件的发生而暂时无法继续执行,只有等相应事件完成后,才能去竞争CPU。PCB是进程实体的一个组成部分,在PCB中记录了OS所需的、用于描述进程的当前状态以及控制进程的全部信息。PCB的作用是将程序变成可并发执行的进程。系统根据进程的PCB感知到一进程的存在,并对它进行控制,因此,PCB是进程存在的唯一标志。在一个系统中通常有许多的PCB,称为PCB集合。

1.5.1 进程的基本概念

1.5.1.1 进程的特征与定义

在计算机中,程序的并发执行具有不可再现性。那么,如何使程序既能并发执行,又具有可再现性呢?这就必须引入进程的概念,也就是说,引入进程的目的是为了使程序能够正确地并发执行。

进程是OS中最重要的概念,它具有以下特征:

(1)结构特征。从结构上说,每个进程实体中除了相应的程序段、数据段外,还必须包含一个数据结构PCB,即进程控制块。

(2)动态性。进程是程序的一次执行过程,因此它是动态的。动态性还表现在进程具有一定的生命周期,它必须由创建而产生,由调度而执行,由撤销而消亡。动态性是进程的一个最基本的特征。

(3)并发性。并发性是指多个进程实体同存于内存中,且能在一段时间内同时运行。只有为程序创建进程后,多个程序才能正确地并发运行。并发是引入进程的目的,也是进程的另一个最基本的特征。

(4)独立性。进程实体是一个能够独立运行、独立分配资源和独立接受调度的基本单位。

(5)异步性。进程可按各自独立的、不可预知的速度向前推进。

通过上面的特征描述,已经可以看出进程的本质含义,但至今,进程仍没有一个完全统一的定义。下面是几个较为典型的进程定义。

(1)进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。

(2)进程是程序的一次执行。

(3)进程是一个程序及其数据在处理机上顺序执行时发生的活动。

(4)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

1.5.1.2 进程的状态

1.进程的三种基本状态

进程执行的间断性决定了进程可能具有多种状态。事实上,进程运行可能有以下三种基本状态:

(1)就绪状态。进程分配到了除CPU以外的所有必要资源,只要得到CPU,便可立即执行。

(2)执行状态。进程已经得到了CPU,其程序正在CPU上执行。

(3)阻塞状态。又称等待、挂起,正在执行的进程因某种事件(如I/O请求)的发生而暂时无法继续执行,只有等相应事件完成后,才能去竞争CPU。

如图1-1所示是进程的三种基本状态以及各状态之间的转换关系。

对单个进程而言,任何时刻,它只能处于三种基本状态之一,而随着进程自身的推进和外界环境条件的变化,它的状态可以动态地转换:就绪进程被进程调度获得CPU后,便进入执行状态;分时系统中,正在执行的进程由于时间片用完而暂停执行时,便从执行状态转换成就绪状态;正在执行的进程中,由于等待某种事件(如I/O操作)的完成而无法继续执行时,便从执行状态转换成阻塞状态;阻塞的进程所等待的事件(如I/O)完成后,便从阻塞状态转换成就绪状态。

对整个系统而言,每个时刻允许同时有多个进程处于就绪状态,通常将它们组织成一个或多个就绪队列;也允许同时有多个进程处于阻塞状态,并将它们组织成一个或多个阻塞队列;但对执行状态的进程,每个处理机最多只允许有一个。

img3

图1-1 进程的三种基本状态及其转换

2.进程的挂起状态

在不少系统中,进程只有上述三种基本状态,但在另一些系统中,又增加了一些新的状态,最重要的是挂起状态。

“挂起”的实质是使进程不能继续执行,即使挂起后的进程处于就绪状态,它也不能参与CPU的竞争。

因此,称被挂起的进程处于静止状态,相反,没被挂起的进程则处于活动状态。而且,处于静止状态的进程,只有通过“激活”动作,才能转换成活动状态。

“挂起”常被用在进程对换中,此时,挂起(即换出)进程可以腾出内存空间给就绪进程使用;“挂起”还可用在其他场合,如用来调节系统的负荷、方便用户考查自己的运行进程或父进程考查子进程、方便操作系统检查运行中的资源使用情况或进行记账等。

引入挂起状态后,进程的状态转换关系,如图1-2所示。

img4

图1-2 具有挂起状态的进程状态图

1.5.1.3 进程控制块

为了描述和控制进程的运行,系统为每个进程定义了一个数据结构——进程控制块PCB。PCB是进程实体的一个组成部分,在PCB中记录了OS所需的、用于描述进程的当前状态以及控制进程的全部信息。PCB的作用是将程序变成可并发执行的进程。系统根据进程的PCB感知到一进程的存在,并对它进行控制,因此,PCB是进程存在的唯一标志。由于PCB要系统频繁访问,它必须长驻内存。

进程控制块中通常包含下列信息:

(1)进程标识符:用于唯一地标识系统中的每个进程。另外,还可以用父进程的标识符、子进程的标识符来描述进程的家族关系。

(2)处理机状态:用于CPU切换时保存现场和恢复现场,主要由处理机中各种寄存器的内容组成。

(3)进程调度和控制信息:用于进程调度和控制,主要包括进程状态、优先级、等待和使用CPU的时间总和、程序和数据的地址、进程同步和通信信息、资源清单和进程队列指针等。

在一个系统中通常有许多的PCB,称为PCB集合。为了便于管理,系统必须用适当的方式将PCB组织起来,常用的方式有链接方式和索引方式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈