二、进程的描述与控制
2.1前趋图和程序执行
2.1.1前趋图
前趋图是指一个有向无循环图,每个节点表示进程或程序段
两种表示方法
S1→S3,S2→S3,S3→S5,S3→S4,S5→S6,S4→S6,
或S={S1,S2,S3,S4,S5,S6}
={(S1,S3),(S2,S3),(S3,S5),(S3,S4),(S5,S6),(S4,S6),}
注意:前趋图不允许出现循环
2.1.2程序的顺序执行
1.程序的顺序执行
通常一个应用程序由若干个程序段组成,每一个程序段按照先后顺序执行
2.程序顺序执行的特征
顺序性;封闭性;可再生性。
2.1.3程序的并发执行
1.程序的并发执行
只有不存在前趋关系的程序之间才又可能并发执行
2.程序并发执行的特征
间断性;失去封闭性;不可再现性;
2.2进程的描述
2.2.1进程的定义和特征
1.进程的定义
进程是进程实体的运行过程,是系统进行资源分配和资源调度的一个独立单位。
2.进程的特征
动态性:进程的实质是进程实体的执行过程;
并发性:多个进程实体同存于内存中,能在一段时间内同时运行;
独立性:进程的实体是一个能独立运行、独立获得资源和独立接受调度的基本单位;
异步性:按各自独立的、不可预知的速度向前推进;
2.2.2进程的基本特征状态及其转换
1.进程的三种基本状态
**就绪状态:**进程已处于准备好运行的状态;即已经分配到CPU以外的所有必要资源,只要在获得CPU,便可执行。
执行状态:进程已经获得CPU,其程序正在执行的状态;
阻塞状态:正在执行的过程中由于某事件暂停无法继续执行时的状态;
2.三种基本状态的转换
3.创建状态和终止状态
创建状态
首先由进程申请一个空白的PCB,并向PCB中填写用于控制和管理进程的信息;然后为该进程分配运行时所必须的资源;最后,把改进程转入到就绪状态并插入到就绪队列。
终止状态
首先是等待操作系统进行善后处理,最后将其PCB清零,并将PCB空间返还给系统。
2.2.3挂起操作和进程状态的转换
1.挂起操作的引入
(1).终端用户的需要。
(2).父进程请求。
(3).负荷调节的需要。
(4).操作系统的需要。
2.引起挂起源于操作后三个进程状态的转换
(1)活动就绪→静止状态(Readys)
(2)活动阻塞→静止阻塞(Blockeda)
(3)静止就绪→活动就绪
(4)静止阻塞→活动阻塞
2.2.4进程管理中的数据结构
1.操作系统中用于管理控制的数据结构
为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCB Process Control Block),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。
2.进程控制块PCB
(1)作为独立运行基本单位的标志
(2)能实现间断性运行方式
(3)提供进程管理所需要的信息
(4)提供进程调度所需要的信息
(5)实现与其他进程的同步与通信
3.进程控制块中的信息
(1)进程标识符
外部标识符
内部标识符
(2)处理机制状态
通用寄存器
指令计数器
程序状态字PSW
用户栈指针
(3)进程调度信息
进程状态
进程优先级
进程调度所需的其他信息
事件
(4)进程控制信息
程序和数据的地址
进程同步和通信机制
资源清单
链接指针
4.进程控制块的组织方式
(1)线性方式
(2)链接方式
(3)索引方式