操作系统———进程(1)

进程是程序在处理器上的一次动态执行过程,具有动态性、并发性、独立性和异步性。它是系统进行资源分配和调度的基本单位,由进程控制块、程序段和数据段组成。进程和程序的主要区别在于动态性、持久性和结构组成。PCB(进程控制块)是进程存在的唯一标志,记录了进程的状态、资源分配等信息,是操作系统感知进程存在的关键。
摘要由CSDN通过智能技术生成

生活是一种绵延不绝的渴望,渴望不断上升,变得伟大而高贵。-------今日语句

进程的定义

在多道程序环境下,程序的并发执行破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应,程序活动不再处于一个封闭系统中,程序的运行出现了许多新的特征。在这种情况下,程序这种静态概念已经不能如实地反映程序活动的这些特征,为此引入了一个新的概念—进程。

进程的概念从提出之后,许多人都对进程有过各式各样的定义,这里给出几种比较容易理解又能反映进程实质的定义:
.进程是程序在处理器上的一次执行过程。
.进程是可以和别的进程并行执行的计算。
.进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
.进程可定义为一个数据结构及能在其上进行操作的一个程序。
.进程是一个程序关于某个数据集合在处理器上顺序执行所发生的活动。
上述这些描述从不同角度对进程进行了阐述,尽管各有侧重,但本质是相同的。

进程的特征

进程具有以下几个基本特征:
.动态性。进程是程序在处理器上的一次执行过程,因而是动态的。动态特性还表现在它因创建而产生,由调度而执行,因得不到资源而暂停,最后因撤销而消亡。
.并发性。并发性是指多个进程同时存在于内存中,能在一段时间内同时运行。引入进程的目的是使程序能与其他程序并发执行,以提高资源利用率。
.独立性。进程是一个能独立运行的基本单位,也是系统进行资源分配和调度的独立单位。
.异步性。异步性是指进程以各自独立的、不可预知的速度向前推进。
.结构特征。为了描述和记录进程的运动变化过程,并使之能正确运行,应为每个进程配置一个进程控制块(Process Control Block PCB )。这样从结构上看,每个进程都由程序段、数据段和一个进程控制块组成。

进程和程序的关系

进程和程序是两个密切相关但又有所不同的概念,它们在以下几个方面存在区别和联系。

.进程是动态的,程序是静止的。进程是程序的执行,每个进程包含了程序段和数据段以及进程控制块(CPCB),而程序是有序代码的集合,无执行含义。
.进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序可以长久保存。
.进程与程序的组成不同。进程的组成包括程序段、数据段和进程控制块。
.通过多次执行,一个程序可以产生多个不同的进程;通过调用关系,一个进程可以执行多个程序。进程可创建其他进程,而程序不能形成新的程序。
.进程具有并行特性(独立性、异步性),程序则没有。

ICI补充知识点:什么是进程映像?进程映像与进程的关系是什么?
  解:由程序段、相关数据段和PCB三部分构成了进程映像,也叫进程实体。进程映像是静态的,进程是动态的,进程是进程实体的运行过程。

进程和作业的区别

作业是用户需要计算机完成某项任务而要求计算机所做工作的集合。一个作业的完成要经过作业提交、作业收容、作业执行和作业完成4个阶段。而进程是己提交完毕的作业的执行过程,是资源分配的基本单位。两者的主要区别如下:
.作业是用户向计算机提交任务的任务实体。在用户向计算机提交作业之后,系统将它放入外存中的作业等待队列中等待执行;而进程则是完成用户任务的执行实体,是向系统申请分配资源的基本单位。任一进程,只要它被创建,总有相应的部分存在于内存中。
.一个作业可由多个进程组成,且必须至少由一个进程组成,但一个进程不能构成多个作业。
.作业的概念主要用在批处理系统中。像UNIX这样的分时系统则没有作业的概念;而进程的概念则用在几乎所有的多道程序系统中。

进程的组成

进程一般由以下几个部分组成:
.进程控制块(PCB )。每个进程均有一个PCB,它是一个既能标识进程的存在、又能刻画执行瞬间特征的数据机构。当进程被创建时,系统为它申请和构造一个相应的PCB.
.程序段。程序段是进程中能被进程调度程序调度到CPU上执行的程序代码段,能实现相应的特定功能。
.数据段。一个进程的数据段可以是进程对应的程序加工处理的原始数据,也可以是程序执行时产生的中间或结果数据。
系统根据PCB感知进程的存在。PCB是进程存在的唯一标志。一般来说,根据操作系统的要求不同,PCB所包含的内容多少会有些不同,但通常都包括下面所列出的内容。
.进程标识符(PID )。每个进程都有唯一的进程标识符,以区别于系统内部的其他进程。在创建进程时,由系统为进程分配唯一的进程标识号。在Windows 7系统下,打开任务管理器,依次单击“查看”一“选择列”,勾选“PID(进程标识符)”,即可在任务管理器中查看到进程PID信息,通常是纯数字。这里看到的PID是内部标识符,为了区别于外部标识符。
.进程当前状态。说明进程的当前状态,以作为进程调度程序分配处理器的依据。
.进程队列指针。用于记录PCB队列中下一个PCB的地址。系统中的PCB可能组织成多个队列,如就绪队列、阻塞队列等。
.程序和数据地址。指出进程的程序和数据所在的地址。
.进程优先级。反映进程要求CPU的紧迫程度。优先级高的进程可以优先获得处理器。
.CPU现场保护区。当进程因某种原因释放处理器时,CPU现场信息(如指令计数器、状态寄存器、通用寄存器等)被保存在PCB的该区域中,以便该进程重新获得处理器后能继续执行。
.通信信息。记录进程在执行过程中与别的进程所发生的信息交换情况。
.家族联系。有的系统允许进程创建子进程,从而形成一个进程家族树。在PCB中,本进程与家族的关系是必须指明的,如它的子进程与父进程的标识。
.占有资源清单。进程所需资源及当前己分配资源清单。
在一个系统中,通常存在着很多进程,有的处于就绪状态,有的处于阻塞状态,而且阻塞的原因各不相同。为了方便进程的调度和管理,需要将各进程的PCB用适当的方法组织起来。目前常用的组织方式有链接方式和索引方式。

★为什么说PCB是进程存在的唯一标志?
首先来看PCB的作用:
PCB是系统为每个进程定义的一个数据结构,其作用是使程序(含数据)能独立运行;PCB使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的基本单位,一个能与其他进程并发执行的进程,因此PCB是为了保证程序的并发执行。创建进程,实质上是创建进程的PCB;而撤销进程,实质上是撤销进程的PCBo
其次来解释为什么PCB是进程存在的唯一标志。
在系统调度到某进程后,要根据其PCB中所保存的处理机状态信息,设置该进程恢复运行的现场,并根据其PCB中的程序和数据的内存地址,找到其程序和数据;进程在执行过程中,当需要和与之合作的进程实现同步、通信或访问文件时,也都需要访问PCB;当进程由于某种原因而暂停执行时,又需将其断点的处理机环境保存在PCB中。可见,在进程的整个生命期中,系统总是通过PCB对进程进行控制的,亦即系统是根据进程的PCB感知该进程的存在的,所以,PCB是进程存在的唯一标志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值