学习笔记------进程(Process)

进程(Process)

绪论: OS的基本特性是并发与共享,即在系统中同时存在几个相互独立的程序, 他们交叉地运行,并共享资源。 存在资源的竞争,程序之间的合作和协同 ,程序之间的通信这几个问题。

为了解决以上问题, 用程序的概念已经不能描述程序在内存中运 用程序的概念已经不能描述程序在内存中运 行的状态行的状态 ,必须引入新的概念--进程

进程的概念

1.进程的定义

进程是一个可并发执行的、具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行资源分配和调度的基本单位。(由1978年,我国操作系统的研究人员在全国操作系统学术会议上给出的定义)

  程序的定义

程序是一个在时间上严格按先后次序操作实现算法功能的指令序列,且程序本身是静态的。

2.进程的结构

我们把操作系统中更具体、更形象的进程称为进程实体。进程实体和进程一般不严格区分(就好像进程是一个抽象的统一概念,而进程实体是一个实例)

通常的程序是不能并发执行的。为了使进程及它所要处理的数据能独立运行,应为之配置一个数据结构,用来存储程序向前推进的执行过程中所要记录的有关运行信息,即该进程动态执行的相关资料。这个数据结构称为进程控制块,即PCB(Process Control Block)。由此得到:

进程实体  =  程序段  +  相关数据段  + PCB

程序段:用户所要执行的语句序列(不可缺少的)

相关数据段:用户所要处理的数据,数据量可大可小。需要注意的是,有些进程的数据是包含在程序中的,这时就没有相关数据段。

PCB:包含进程执行的相关资料,只有PCB才能了解进程的执行情况。

     进程实体结构示意图

3.进程的特征

(1)动态性进程的实质是程序的一次执行。也表明进程是有生命期的,具有“创建--运行--消亡”的过程。

(2)并发性。多个进程实体可以在一段时间内能够并发执行(这就是引入进程的目的,以提高系统资源的利用率)

(3)独立性。每个进程都是一个独立运行的基本单位。

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

(5)结构性。结构上看,每个进程都由程序段、数据段以及PCB这三个部分组成。

 

下面说下程序的概念

  1. 程序的顺序执行(单道程序环境)

(1)顺序性。CPU按程序的顺序严格执行程序的操作,每个操作都必须在前一个操作结束后才能开始。

(2)封闭性。程序运行时独占全机资源。

(3)可再现性。程序运行的结果仅与初始条件有关,而与运行的时间和速度无关。

2. 程序的并发执行(多道程序环境)

在同一时刻,有的程序占用CPU运行、有的程序通过外部设备传递数据。从宏观上看是多个程序同时执行,从微观上看它们是在交替执行(对单个CPU而言)。

在多道程序设计环境下,多个程序可以在单CPU上交替执行,也可以在多个CPU上并发执行。程序的并发执行通常是指多个程序在单个CPU上的交替执行。

特性

(1)间断性。多个程序在并发执行时共享系统资源,导致并发执行的程序之间产生了相互制约的关系。比如某个程序2完成输入后,如果程序1尚未完成,则程序2也无法继续执行下去,必须暂停程序2执行。所以存在“执行--暂停--执行”这种间断性规律。

(2)失去了封闭性。多个程序共享系统中所有资源。

(3)不可再现性。指并发执行的运行结果是不确定的,还指程序的执行速度和运行轨迹是不确定的。

 

4.进程与程序的区别

程序就像是一个乐谱,任何时候你都可以翻阅它,但乐谱本身是静态的。进程则可以看作依照乐谱的一次演奏,这个演奏有开始有结束(具有生命期),并随着时间的流逝,演奏的音乐不复存在;也就是说,这个演奏过程本身是动态的,即使是重新演奏这个乐谱,也绝对不是刚刚逝去的那段音乐(不是刚刚执行过的进程,而是一个新的进程)。

(1)进程是动态的,程序是静态的。程序是有序代码的集合;进程是程序的执行。通常进程不可在计算机之间迁移;而程序 通常对应着文件、静态和可以复制。

(2)进程是暂时的,程序是永久的。进程是一个状态变化的过程,程序可长久保存。

(3)进程与程序的组成不同。进程的组成包括程序、数据和进程控制块(即进程状态信息)。

(4)进程与程序的对应关系 。通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。


 

 

猜你喜欢

转载自www.cnblogs.com/Diligent-Memory/p/10781034.html
今日推荐