目录
一、进程的概念、组成、特征
1.1 进程的概念
1.1.1 程序
1.1.2 进程
1.2 进程的组成
1.3 进程控制块PCB
1.4 进程的特征
二、进程的状态与转换
2.1 进程的状态
2.2 创建态、就绪态
2.3 运行态
2.4 阻塞态
2.5 终止态
2.6 进程状态的转换
2.7 进程的组织
三、进程控制
3.1 如何实现进程控制
3.2 如何实现原语的“原子性”
3.3 进程控制相关的原语
3.3.1 创建原语
3.3.2 撤销原语
3.3.3 阻塞原语和唤醒原语
3.3.4 切换原语 编辑
3.4 程序是如何运行的
四、线程的概念
4.1 什么是线程,为什么要引入线程
4.2 引入线程机制后,有什么变化
4.3 线程的属性
五、线程的实现方式和多线程模式
5.1 线程的实现方式
5.1.1 用户级线程
5.1.2 内核级线程
5.2 多线程模型
5.2.1 一对一模型
5.2.2 多对一模型
5.2.3 多对多模型
六、线程的状态与转换
6.1 线程的状态与转换
6.2 线程的组织与控制
一、进程的概念、组成、特征
1.1 进程的概念
1.1.1 程序
是静态的,就是个存放在磁盘里的可执行文件,就是一系列的指令集合。
1.1.2 进程
- Process,是动态的,是程序的一次执行过程。
- 同一个程序多次执行会对应多个进程。
- 当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的“身份证号”—— PID (Process ID,进程ID)。
1.2 进程的组成
1.3 进程控制块PCB
以上信息都被保存在一个数据结构PCB ( Process Control Block)中,即进程控制块。操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中。
1.4 进程的特征
二、进程的状态与转换
2.1 进程的状态
2.2 创建态、就绪态
2.3 运行态
2.4 阻塞态
2.5 终止态
2.6 进程状态的转换
2.7 进程的组织
三、进程控制
3.1 如何实现进程控制
3.2 如何实现原语的“原子性”
正常情况下,CPU每执行完一条指令都会例行检查是否有中断信号需要处理,如果有,则暂停运行当前这段程序,转而执行相应的中断处理程序。
3.3 进程控制相关的原语
3.3.1 创建原语
3.3.2 撤销原语
3.3.3 阻塞原语和唤醒原语
3.3.4 切换原语
3.4 程序是如何运行的
四、线程的概念
4.1 什么是线程,为什么要引入线程
- 线程是一个基本的CPU执行单元,也是程序执行流的最小单位。可以把线程理解为“轻量级进程”。
- 引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)。
- 引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。
4.2 引入线程机制后,有什么变化
4.3 线程的属性
五、线程的实现方式和多线程模式
5.1 线程的实现方式
5.1.1 用户级线程
5.1.2 内核级线程
5.2 多线程模型
在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分为几种多线程模型:
- 一对一模型
- 多对一模型
- 多对多模型