第二章 进程管理
2.1进前趋图和程序执行
2.1.1前趋图
前趋图(Precedence Graph)是一个有向无循环图,记为 DAG(Directed Acyclic Graph),用 于描述进程之间执行的前后关系。
2.1.2程序的顺序执行
仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。
程序顺序执行时的特征 :
(1)顺序性;
(2)封闭性;
(3)可再现性
2.1.3程序的并发执行
在对一批程序进行处理时,可使它们并发执行。例如,输入程序在输入第一个程序后,在计算程序对该程序进行计算的同时,可由输入程序再输入第二个程序,从而 使第一个程序的计算操作可与第二个程序的输入操作并发执行。一 般来说,输入程序在输入 第 i+1 个程序时,计算程序可能正在对第 i 个程序进行计算,而打印程序正在打印第 i-1 个程序的计算结果。
程序并发执行时的特征 :
(1)间断性;
(2)失去封闭性;
(3)不可再现性;
2.2进程的描述
2.2.1进程的定义和特征
**定义:**进程是程序的一次执行。
进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
行为的规则叫程序,程序在处理机上执行时的活动称为进程。
进程的特征:
- 动态性
- 并发性
- 独立性
- 异步性
2.2.2进程的三种基本状态
1) 就绪(Ready)状态
当进程已分配到除 CPU 以外的所有必要资源后,只要再获得 CPU,便可立即执行,进程这时的状态称为就绪状态。在一个系统中处于就绪状态的进程可能有多个,通常将它们排成一个队列,称为就绪队列。
2) 执行状态
进程已获得 CPU,其程序正在执行。在单处理机系统中,只有一个进程处于执行状态;
在多处理机系统中,则有多个进程处于执行状态。
3) 阻塞状态
正在执行的进程由于发生某事件而暂时无法继续执行时,便放弃处理机而处于暂停状态, 亦即进程的执行受到阻塞,把这种暂停状态称为阻塞状态,有时也称为等待状态或封锁状态。 致使进程阻塞的典型事件有:请求 I/O,申请缓冲空间等。通常将这种处于阻塞状态的进程也 排成一个队列。有的系统则根据阻塞原因的不同而把处于阻塞状态的进程排成多个队列。
2.2.3进程控制块
1、进程控制块的作用
PCB是操作系统对并发执行的进程进行控制和管理的重要数据结构。 一个PCB对应一个进程。
2、进程控制块的内容
(1)进程标识符
(2)处理机状态
通用寄存器、指令计数器、程序状态字…
(3)进程调度信息
进程状态、进程优先级…
(4)进程控制信息
程序地址、数据地址、资源清单
3、PCB中的信息