(一)程序顺序执行
(1)前趋图
是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,有向边表示两个程序段操作之间存在的前趋关系。
(2)前驱与后继
输入是计算的前驱,计算是输入的后继,计算是输出的前驱。只有完成了前一个,后面的才能接着执行。
(3)程序顺序执行主要特征
- 顺序性
- 封闭性
- 可再现性
(二)程序并发执行
虽然处于并发状态的每个作业有前趋关系的各程序段不能在CPU和输入/输出各部件并行执行,但同一个作业内没有前趋关系的程序段或不同作业的程序段可以分别在CPU和各输入/输出部件上并行执行。
(1)程序并发执行特征
①失去了封闭性。
②程序和机器的执行程序活动不再一一对应。
③并发程序间的相互制约性。
程序并发执行可能破坏程序的封闭性和可再现性。
(三)进程组成
进程是程序的一次执行,该程序可以和其他程序并发执行。
进程通常由程序、数据和进程控制块(Process Control Block, PCB)组成。
组成 | 说明 | 备注 | |
1 | PCB | 是进程存在的唯一标志 | 包含进程标识符、状态、位置、控制信息、队列指针、优先级、现场保护区等 |
2 | 程序 | 描述进程需要完成的功能 | ①可以被多个进程共享执行 ②程序执行时不可修改 |
3 | 数据 | 程序执行时所需的数据及工作区 | ①是进程的可修改部分 ②只能为一个进程专用 |
(四)进程状态
(1)三态模型
在多道程序系统中,进程在处理器上交替运行,状态不断发生变化。
进程存在3种基本状态:运行、就绪和阻塞。
状态 | 说明 | 备注 | |
1 | 运行 | 一个进程在处理机上运行 | 对于单处理机系统,处于运行状态的进程只有一个 |
2 | 就绪 | 一个进程获得了除处理机外的一切所需资源 | 一旦进程得到处理机即可运行 |
3 | 阻塞 (等待或睡眠) | 一个进程正在等待某一事件发生(如请求I/O、等待I/O完成等)而暂时停止运行 | 即使把处理机分配给进程也无法运行 |
(2)五态模型
在三态模型基础上,引入新建态和终止态。
状态 | 说明 | 备注 | |
1 | 新建态 | 进程初建没有被提交的状态,等待系统完成创建进程的所有必要信息 | 创建进程两阶段: ①一个新进程创建必要的管理信息; ②让该进程进入就绪状态 |
2 | 终止态 | 进程终止两阶段: ①等待操作系统进行善后处理; ②释放主存 |
(3)具有挂起状态的进程状态
进程挂起的原因:
①由于进程不断创建,系统资源特别是主存资源己不能满足进程运行要求(放到磁盘对换区)。
②系统出现故障
③用户调试程序
状态 | 说明 | |
1 | 活跃就绪 | 进程在主存且可被调度 |
2 | 静止就绪 | 就绪进程被对换到辅存,此时不能被直接调度 |
3 | 活跃阻塞 | 进程在主存 |
4 | 静止阻塞 | 阻塞进程对换到辅存时的状态 |