第二章 进程管理
2.1 前驱图和程序控制
2.1.1程序的顺序执行及其特征
1. 程序的顺序执行
一个应用程序可分成若干个程序段,在各程序段之间必须按照某种先后次序顺序执行。
2. 程序顺序执行时的特征
(1) 顺序性:
处理机的操作严格按照程序所规定的顺序执行。
(2) 封闭性:
即程序运行时独占全机资源,程序一旦开始执行,其执行结果不受外界因素影响。
(3) 可再现性:
只要程序执行时的环境、条件相同,当程序重复执行时,都将获得相同的结果。
2.1.2前趋图
前趋图(PrecedenceGraph):有向无循环图,用于描述程序段(进程)之间执行的前后关系。
结点:用于描述一个程序段或进程,乃至一条语句。
有向边:用于表示两个结点之间存在的前趋关系,用“→”表示。
注意:前趋图中必须不存在循环。
例题:若有以下前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9,求其前趋图。

2.1.3程序的并发执行及其特征
1.程序的并发执行
2.程序并发执行时的特征
1) 间断性:并发程序具有“执行—暂停—执行”这种间断性的活动规律。
2) 失去封闭性
程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。
3) 不可再现性
程序在并发执行时,由于失去了封闭性,也将导致其再失去可再现性。
2,2进程的描述
一 进程的特征与状态
1. 进程的特征和定义
进程定义:是进程实体的运行过程,系统进行资源分配和调度的一个独立单位。
2.特征
1) 动态性
“由创建而产生,由调度而执行,由撤消而消亡”。
进程实体有一定的生命期。
2) 并发性
多个进程实体同存于内存中,且能在一段时间内同时运行。
是OS引入进程的目的。
3) 独立性
进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。
4)异步性
5) 结构特征
OS对进程的管理主要通过进程控制块PCB(ProcessControl Block)。
二. 进程的三种基本状态
1) 就绪(Ready)状态
就绪队列。
2) 执行状态
进程获得CPU正在执行。
3) 阻塞状态/等待状态/封锁状态
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态,亦即进程的执行受到阻塞。
阻塞队列(可能有多个)。

3. 挂起状态
1) 引入挂起状态的原因
(1)终端用户的请求。
程序调试、检测。
(2)父进程请求。
父进程修改子进程或协调各子进程间活动。
(3)负荷调节的需要。
当系统中的工作负荷较重时把一些不重要的进程挂起。
(4)操作系统的需要。
操作系统挂起某些进程,以便检查运行中的资源使用情况或进行记账。
2) 进程状态的转换
挂起状态/静止状态
非挂起状态/活动状态

4.创建状态和终止状态
1) 创建状态
创建进程步骤:
(1)为新进程创建PCB,并填写必要的管理信息;(进行到此步为创建状态)
(2)把该进程转入就绪状态并插入就绪队列之中。
2) 终止状态
进程终止步骤:
(1)操作系统进行善后处理;
(2)将其PCB清零,并将PCB空间返还系统。
三进程管理中的数据结构
1.OS中用于管理控制的数据结构(了)
2.进程控制块的作用
是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。
OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB是进程存在的惟一标志。
3.进程控制块的作用
是进程实体的一部分,是操作系统中最重要的记录型数据结构。
PCB中记录了操作系统所需的、用于描述进程的当前情况以及控制进程运行的全部信息。
OS是根据PCB来对并发执行的进程进行控制和管理的。
PCB是进程存在的惟一标志。
4.进程控制块中的信息

5. 进程控制块的组织方式
1) 链接方式
2) 索引方式


