文章目录
第二章、进程管理
一、进程的描述
1. 为什么要引入进程的概念?
①顺序程序的特点:具有封闭性和可再现性。但是,程序的顺序执行是低效的。
②程序的并发执行和资源共享。多道程序设计出现后,实现了程序的并发执行和资源共享,提高了系统的效率和系统的资源利用率,但却带来了新的问题。
③程序的并发执行的特点:破坏了程序的封闭性和可再现性,程序和机器执行程序的活动不再一一对应,并发程序之间有可能存在相互制约关系。
④并发程序的这些特性:独立性、并发性、动态性和相互制约性,反映了并发程序的本质,程序的概念已不能反映程序并发找执行的实质,因此,人们引进了进程的概念。
a.程序的顺序执行
缺点: 不能使输入机、处理器和打印机同时忙碌。
b.程序的并发执行
c.进程的概念
2. 进程的定义
3. 进程的特征
4. 进程与程序的比较
5.进程控制块
定义:
进程控制块是 进程实体的一部分 ,是操作系统中 最重要的数据结构 。
进程控制块中记录了操作系统所需要的、用于描述进程及控制进程运行所需的全部信息。
- 进程标识符信息:用于唯一标识一个进程
- 处理机状态信息:通用寄存器、指令计数器、程序状态字PSW、用户栈指针
- 进程调度信息:包括进程状态信息、进程优先级和进程调度所需的其他信息
- 进程控制信息:包括程序和数据的地址、进程同步和通信机制、资源清单,以及链接指针
6. 进程的状态
7. 进程的组织
三种组织方式:
- 链接方式:
- 索引方式:
- 进程队列
二、进程的控制
1. 创建
a.什么情况下需要创建新进程?
- 用户登录
- 作业调度
- 提供服务
- 应用请求
b.如何创建新进程? | 创建新进程的步骤?
- 申请空白PCB
- 为新进程分配资源
- 初始化进程控制块
- 将新进程插入到就绪队列
2. 阻塞
a.什么情况下会进行进程的阻塞呢?
- 请求系统服务
- 启动某种操作
- 新数据尚未到达
- 无新工作可做
b.完成进程阻塞的过程?
- 将进程的状态改为阻塞态
- 将进程插入阻塞队列
3. 唤醒
a.进程唤醒的过程
- 将进程从阻塞队列中移出
- 将进程状态由阻塞态改为就绪态
- 将进程插入就绪队列
4. 终止
a.完成终止的过程
- 从进程PCB中读进程状态
- 若进程正在执行,则终止进程的执行
- 释放资源
- 将终止进程的PCB移出
三、操作系统内核
操作系统管理计算机系统资源,提供方便的接口,扩充硬件的功能等
1. 操作系统内核
操作系统内核是计算机硬件的第一次扩充与硬件关系密切。
a.支撑功能
中断处理、时钟管理、原语操作
b.资源管理功能
进程管理、存储管理、设备管理
2. 中断
3. 时钟管理
a.时钟的重要性
b.计算机系统中的时钟
4. 系统调用
a.什么是系统调用?
b.系统调用和一般函数调用的区别
四、进程同步
1. 进程同步的基本概念
a.多道程序环境下进程之间的关系
避免并发导致的问题:
2. 应遵循的准则
3. 信号量机制
a.整型信号量机制
原子操作包含wait和signal
wait用于申请资源
signal用于释放资源
b.记录型信号量机制
c.and型信号量机制
五、进程通信
六、线程
1. 线程的概念
2. 线程的分类
3. 线程的3种基本状态
4. 线程控制块
每一个线程都由一个数据结构表示,包括它的基本状态等,这个数据结构就是线程控制块TCB。
TCB记录了操作系统需要的、用于描述线程情况及控制线程运行所需的全部信息。
5. 线程和进程的关系
6. 线程控制
a.创建
b.阻塞
- 请求系统服务
- 启动某种操作
- 新数据尚未到达
c.唤醒
e.终止
- 正常结束
- 异常结束
- 外界干扰