【操作系统】进程的描述与控制
- 1. 前驱图和程序执行
-
- 1.1 前驱图
- 1.2 程序顺序执行
- 1.3 程序并发执行
- 2. 进程的描述
-
- 2.1 进程的定义
-
- 2.1.1 进程控制块(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 操作系统中用于管理控制的数据结构
- 2.4.2 进程控制块PCB的作用
- 2.4.3 进程控制块中的信息
- 2.4.4 进程控制块的组织方式
- 2.5 进程控制【进程管理最基本功能】
-
- 2.5.1 操作系统内核
- 2.5.2 用户态以及系统态
- 2.5.3 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 硬件同步机制
- 3.3 信号量机制
- 3.4信号量的应用
- 3.5 管程机制
- 4. 经典进程的同步问题
1. 前驱图和程序执行
1.1 前驱图
![在这里插入图片描述](http://img.e-com-net.com/image/info8/e7a83891c07943f2b63b1e245b9d43df.jpg)
![【操作系统】进程的描述与控制_第1张图片](http://img.e-com-net.com/image/info8/c2db098cd7ad4e0ea7d90d7c8208bf0b.jpg)
1.2 程序顺序执行
![【操作系统】进程的描述与控制_第2张图片](http://img.e-com-net.com/image/info8/abbd487581334afc8f0ea2bd04615894.jpg)
程序顺序执行时的特征
1.3 程序并发执行
![【操作系统】进程的描述与控制_第3张图片](http://img.e-com-net.com/image/info8/d61ab6f2f23c4edb8ba20056dcfe992c.jpg)
程序并发执行时的特征
- 间断性
- 失去封闭性
- 不可再现性
![在这里插入图片描述](http://img.e-com-net.com/image/info8/a040d3a371b042e5a0afdf27356da604.jpg)
2. 进程的描述
2.1 进程的定义
2.1.1 进程控制块(PCB)
为了使参与并发执行的每个程序都能独立地运行,在操作系统中必须为之配置一个专门的数据结构,称为进程控制块
- 系统利用PCB描述进程的基本情况和活动过程,进而控制和管理进程
- 进程(又称进程实体、进程映像)【 由程序段、相关的数据段、PCB构成】
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
2.1.2 进程的特征
2.2 进程的基本状态及转换
2.2.1 进程的三种基本状态
![【操作系统】进程的描述与控制_第4张图片](http://img.e-com-net.com/image/info8/f83c702209de459e8c6407dcd344e640.jpg)
![【操作系统】进程的描述与控制_第5张图片](http://img.e-com-net.com/image/info8/24b94dd757d54c0a890bdb28fd210289.jpg)
2.2.2 创建状态和终止状态
![【操作系统】进程的描述与控制_第6张图片](http://img.e-com-net.com/image/info8/9959e61c5d1b47669792c3807cc7624b.jpg)
2.3 挂起操作和进程状态的转换
2.3.1 挂起操作
当挂起操作作用于某个进程时,该进程将被挂起,意味着此时该进程处于静止状态
- 如果进程正在执行->暂停执行
- 如果原本处于就绪状态->该进程暂不接受调度
与挂起操作对应的操作是激活操作
2.3.2 挂起操作的引入原因
![【操作系统】进程的描述与控制_第7张图片](http://img.e-com-net.com/image/info8/8e68f84d0e0645a5b7c5f0abaabc1c37.jpg)
2.3.3 引入挂起后的进程状态转换
![【操作系统】进程的描述与控制_第8张图片](http://img.e-com-net.com/image/info8/3185857f0cbc4aecb6ef5da377e2e8fe.jpg)
2.4 进程管理中的数据结构
2.4.1 操作系统中用于管理控制的数据结构
![【操作系统】进程的描述与控制_第9张图片](http://img.e-com-net.com/image/info8/948aa1c6dac849f8aff76a6ef5cf066c.jpg)
进程表又称为进程控制块PCB
2.4.2 进程控制块PCB的作用
PCB用于描述进程的当前情况、管理进程运行的全部信息,是操作系统中最重要的记录型数据结构
![【操作系统】进程的描述与控制_第10张图片](http://img.e-com-net.com/image/info8/b34d0a391e1a48768a1c8c80b87411b3.jpg)
2.4.3 进程控制块中的信息
- 进程标识符【包含外部标识符、内部标识符】
- 处理机状态
- 进程调度信息
- 进程控制信息
![【操作系统】进程的描述与控制_第11张图片](http://img.e-com-net.com/image/info8/0c3f40da71954ba580024ac5ddb0a7e8.jpg)
![【操作系统】进程的描述与控制_第12张图片](http://img.e-com-net.com/image/info8/45671d09564240cb8558b74f2444e32b.jpg)
2.4.4 进程控制块的组织方式
- 线性方式
- 链接方式
- 索引方式
![【操作系统】进程的描述与控制_第13张图片](http://img.e-com-net.com/image/info8/c9129d927e0b4d6aaa82bd88f63c48fc.jpg)
![【操作系统】进程的描述与控制_第14张图片](http://img.e-com-net.com/image/info8/f4d7e962de2a4c2caf685459cfbe7809.jpg)
2.5 进程控制【进程管理最基本功能】
进程控制 主要包括【创建新进程、终止已完成进程、将因发生异常情况而无法继续运行的进程置于阻塞状态、负责进程运行中的状态转换】等功能
2.5.1 操作系统内核
内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统等等,决定着系统的性能和稳定性。是连接应用程序和硬件的桥梁。内核就是操作系统背后黑盒的核心。
2.5.2 用户态以及系统态
![【操作系统】进程的描述与控制_第15张图片](http://img.e-com-net.com/image/info8/9bfb7e1e38d8432c84bc7fd5aee24262.jpg)
2.5.3 OS内核的功能
大多数OS内核都包括两大方面功能
支撑功能【中断处理、时钟处理、原语操作】
资源管理功能【进程管理、存储器管理、设备管理】
![【操作系统】进程的描述与控制_第16张图片](http://img.e-com-net.com/image/info8/866c8db5f7134013a9169ea023393701.jpg)
![【操作系统】进程的描述与控制_第17张图片](http://img.e-com-net.com/image/info8/5b1cba9fd7fc42289605dd7e77c87964.jpg)
2.6 进程的创建
2.6.1 创建进程【引起其的事件】
![【操作系统】进程的描述与控制_第18张图片](http://img.e-com-net.com/image/info8/ca634e3cb8124f9daf20e3ddda7fccbd.jpg)
![在这里插入图片描述](http://img.e-com-net.com/image/info8/c6bc33ac2a834a8aaf970002aca24873.jpg)
2.6.2 进程的创建【步骤】
![【操作系统】进程的描述与控制_第19张图片](http://img.e-com-net.com/image/info8/508786ee1b89401e9bfe88ea0cb73cab.jpg)
2.7 进程的终止
2.7.1 进程终止【引起其的事件】
![【操作系统】进程的描述与控制_第20张图片](http://img.e-com-net.com/image/info8/7f4014a4ead0442897a38f308c87bbf6.jpg)
![【操作系统】进程的描述与控制_第21张图片](http://img.e-com-net.com/image/info8/873ad628e51c47cf9c9d4c82cc3b22a3.jpg)
2.7.2 进程终止【步骤】
![【操作系统】进程的描述与控制_第22张图片](http://img.e-com-net.com/image/info8/ad04b7241c094f1ea462e51f1600ded5.jpg)
2.8 进程的阻塞与唤醒
2.8.1进程的阻塞与唤醒【引起其的事件】
![【操作系统】进程的描述与控制_第23张图片](http://img.e-com-net.com/image/info8/e4395edb264244e5a28f85d449e2e106.jpg)
2.8.2进程的阻塞与唤醒【步骤】
![【操作系统】进程的描述与控制_第24张图片](http://img.e-com-net.com/image/info8/cab7f941e965405fafbc4ed5268d8d61.jpg)
2.9进程的挂起与激活
![【操作系统】进程的描述与控制_第25张图片](http://img.e-com-net.com/image/info8/fc27255f73d34550975a4d34c5a58c2c.jpg)
3. 进程同步
3.1 进程同步的概念
![在这里插入图片描述](http://img.e-com-net.com/image/info8/6a6c2d17528c4cb782f1c6bbf2de0709.jpg)
3.1.1 临界资源
![在这里插入图片描述](http://img.e-com-net.com/image/info8/f4a56d313e0f4c96aabcd74631cc7c8c.jpg)
3.1.2 临界区
![【操作系统】进程的描述与控制_第26张图片](http://img.e-com-net.com/image/info8/cfc27979b3aa42fa811dc7d0c2f5e866.jpg)
3.1.3 同步机制应遵循的规则
- 空闲让进
- 忙则等待
- 有限等待
- 让权等待
![【操作系统】进程的描述与控制_第27张图片](http://img.e-com-net.com/image/info8/3b5795d91fcd4d0c88a9db1df989d92a.jpg)
3.2 硬件同步机制
- 关中断
![【操作系统】进程的描述与控制_第28张图片](http://img.e-com-net.com/image/info8/9bc0db362068436189392b3243a61c50.jpg)
- 利用Test-and-Set指令实现互斥
- 利用Swap指令实现进程互斥
![在这里插入图片描述](http://img.e-com-net.com/image/info8/20005257e72845a4a0145dce24711c98.jpg)
3.3 信号量机制
- 整型信号量
![【操作系统】进程的描述与控制_第29张图片](http://img.e-com-net.com/image/info8/727e3152980a4a1c804fcd31e3fb33b5.jpg)
3.4信号量的应用
3.5 管程机制
4. 经典进程的同步问题