1.进程的定义
程序什么么?程序就是一个指令序列。
早期的计算机支支持单道程序。引入多道程序后,多道程序可以并发执行。为了方便操作系统管理、完成程序并发执行,引入了进程,进程实体的概念。
PCB(进程控制块),程序段和数据段三部分构成了进程实体。进程实体被简称为进程。所谓创建进程实际上是创建进程实体中的 PCB;撤销进程实质上就是撤销进程实体中的 PCB。
PCB 是进程存在的唯一标志。
从不同角度,进程可以有不同的定义,比较传统典型的定义有:
- 进程是程序的一次执行过程。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是具有独立功能的程序存在数据集合上运行的过程(强调动态性),他是系统进行资源分配和调度的一个独立单位。
引入进程实体的概念后,进程可被定义为:
- 进程是实体的运行过程,是系统进行资源分配和调度的一个独立单位。
注:严格来说进程和实体进程并不一样,进程实体是静态的,进程则是动态的。除非题目专门考察二者区别,否则可以认为进程实体就是进程。因此也可以说“进程由程序段,数据段和 PCB 三部分组成”
2.进程的组成
PCB 的组成
进程的组成
只要是和操作系统有关于管理进程的项目一定是被存储在 PCB 中。
3. 进程的组织
在一个系统中通常有数百乃至数千个 PCB,为了对他们加以有效的管理,应当采用适当的方式把这些 PCB 组织起来。
注:进程的组成讨论的是一个进程内部有哪些部分构成的问题,而进程的组织讨论的多个进程之间的组织方式的问题。
进程的组织方式包括:
- 链接方式
- 按照进程的状态将 PCB 分为多个队列
- 操作系统持有指向各个队列的指针
- 索引方式
- 根据进程状态的不同,建立几张索引表
- 操作系统持有指向各个索引表的指针
链接方式:
索引方式:
4.进程的特征
进程和程序是两种概念,相比较于程序,进程有以下特征:
**(1)动态性:**进程是程序的一次执行过程,是动态地产生、变化和消亡的。
(2)并发性:内存中有多个进程实体,个进程可以并发执行
(3)独立性:进程是能独立运行,独立获得资源、独立接受调度的基本单位。
(4)异步性:个进程按各自独立的,不可预知的速度向前推进,操作系统要提供进程同步机制来解决异步问题。
(5)结构性:每个进程都会配置一个 PCB 凑够结构上看,该进程由程序段,数据段,PCB 组成
动态性是进程最基本的特征。
进程是资源分配,接收调度的基本单位。
异步性会导致并发程序的执行结果的不确定性。