【操作系统】进程的描述与控制
1. 前驱图和程序执行
1.1 前驱图
1.2 程序顺序执行
程序顺序执行时的特征👇
- 顺序性
- 封闭性
- 可再现性
1.3 程序并发执行
程序并发执行时的特征👇
- 间断性
- 失去封闭性
- 不可再现性
2. 进程的描述
2.1 进程的定义
2.1.1 进程控制块(PCB)
为了使参与并发执行的每个程序都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块
- 系统利用PCB描述进程的基本情况和活动过程,进而控制和管理进程
- 进程(又称进程实体、进程映像)【 由程序段、相关的数据段、PCB构成】
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
2.1.2 进程的特征
- 动态性
- 并发性
- 独立性
- 异步性
2.2 进程的基本状态及转换
2.2.1 进程的三种基本状态
2.2.2 创建状态和终止状态
2.3 挂起操作和进程状态的转换
2.3.1 挂起操作
当挂起操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态
- 如果进程正在执行->暂停执行
- 如果原本处于就绪状态->该进程暂不接受调度
与挂起操作对应的操作是激活操作
2.3.2 挂起操作的引入原因
2.3.3 引入挂起后的进程状态转换
2.4 进程管理中的数据结构
2.4.1 操作系统中用于管理控制的数据结构
进程表又称为进程控制块PCB
2.4.2 进程控制块PCB的作用
PCB用于描述进程的当前情况、管理进程运行的全部信息,是操作系统中最重要的记录型数据结构
2.4.3 进程控制块中的信息
- 进程标识符【包含外部标识符、内部标识符】
- 处理机状态
- 进程调度信息
- 进程控制信息
2.4.4 进程控制块的组织方式
- 线性方式
- 链接方式
- 索引方式
2.5 进程控制【进程管理最基本功能】
进程控制 主要包括【创建新进程、终止已完成进程、将因发生异常情况而无法继续运行的进程置于阻塞状态、负责进程运行中的状态转换】等功能
- 进程控制一般是由OS中的内核中的原语实现
2.5.1 操作系统内核
内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,决定着系统的性能和稳定性。是连接应用程序和硬件的桥梁。内核就是操作系统背后黑盒的核心。
2.5.2 用户态以及系统态
2.5.3 OS内核的功能
大多数OS内核都包括两大方面功能👇
支撑功能【中断处理、时钟处理、原语操作】
资源管理功能【进程管理、存储器管理、设备管理】
2.6 进程的创建
2.6.1 创建进程【引起其的事件】
2.6.2 进程的创建【步骤】
2.7 进程的终止
2.7.1 进程终止【引起其的事件】
2.7.2 进程终止【步骤】
2.8 进程的阻塞与唤醒
2.8.1进程的阻塞与唤醒【引起其的事件】
2.8.2进程的阻塞与唤醒【步骤】
2.9进程的挂起与激活
3. 进程同步
3.1 进程同步的概念
3.1.1 临界资源
3.1.2 临界区
3.1.3 同步机制应遵循的规则
- 空闲让进
- 忙则等待
- 有限等待
- 让权等待
3.2 硬件同步机制
- 关中断
- 利用Test-and-Set指令实现互斥
- 利用Swap指令实现进程互斥
3.3 信号量机制
- 整型信号量