第二章 进程的描述与控制

目录

一、进程的概念、组成、特征

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.1.2 进程

  • Process,是动态的,是程序的一次执行过程。
  • 同一个程序多次执行会对应多个进程。
  • 当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的“身份证号”—— PID (Process ID,进程ID)。

1.2 进程的组成

第二章 进程的描述与控制_第2张图片

第二章 进程的描述与控制_第3张图片

1.3 进程控制块PCB

第二章 进程的描述与控制_第4张图片

以上信息都被保存在一个数据结构PCB ( Process Control Block)中,即进程控制块。操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中。

第二章 进程的描述与控制_第5张图片

1.4 进程的特征

第二章 进程的描述与控制_第6张图片

二、进程的状态与转换

第二章 进程的描述与控制_第7张图片

2.1 进程的状态

第二章 进程的描述与控制_第8张图片

2.2 创建态、就绪态

第二章 进程的描述与控制_第9张图片

2.3 运行态

第二章 进程的描述与控制_第10张图片

2.4 阻塞态

第二章 进程的描述与控制_第11张图片

2.5 终止态

第二章 进程的描述与控制_第12张图片

2.6 进程状态的转换

第二章 进程的描述与控制_第13张图片

2.7 进程的组织

第二章 进程的描述与控制_第14张图片

三、进程控制 

第二章 进程的描述与控制_第15张图片

3.1 如何实现进程控制

第二章 进程的描述与控制_第16张图片

3.2 如何实现原语的“原子性”

正常情况下,CPU每执行完一条指令都会例行检查是否有中断信号需要处理,如果有,则暂停运行当前这段程序,转而执行相应的中断处理程序。

第二章 进程的描述与控制_第17张图片

3.3 进程控制相关的原语

3.3.1 创建原语

第二章 进程的描述与控制_第18张图片

3.3.2 撤销原语 

第二章 进程的描述与控制_第19张图片

3.3.3 阻塞原语和唤醒原语 

第二章 进程的描述与控制_第20张图片

3.3.4 切换原语 第二章 进程的描述与控制_第21张图片

3.4 程序是如何运行的

第二章 进程的描述与控制_第22张图片

第二章 进程的描述与控制_第23张图片

四、线程的概念

第二章 进程的描述与控制_第24张图片

4.1 什么是线程,为什么要引入线程

  • 线程是一个基本的CPU执行单元,也是程序执行流的最小单位。可以把线程理解为“轻量级进程”。
  • 引入线程之后,不仅是进程之间可以并发,进程内的各线程之间也可以并发,从而进一步提升了系统的并发度,使得一个进程内也可以并发处理各种任务(如QQ视频、文字聊天、传文件)。
  • 引入线程后,进程只作为除CPU之外的系统资源的分配单元(如打印机、内存地址空间等都是分配给进程的)。

第二章 进程的描述与控制_第25张图片

第二章 进程的描述与控制_第26张图片

4.2 引入线程机制后,有什么变化

第二章 进程的描述与控制_第27张图片

4.3 线程的属性

第二章 进程的描述与控制_第28张图片

五、线程的实现方式和多线程模式

5.1 线程的实现方式

5.1.1 用户级线程

第二章 进程的描述与控制_第29张图片

5.1.2 内核级线程

第二章 进程的描述与控制_第30张图片

5.2 多线程模型

在支持内核级线程的系统中,根据用户级线程和内核级线程的映射关系,可以划分为几种多线程模型:

  • 一对一模型
  • 多对一模型
  • 多对多模型

5.2.1 一对一模型

第二章 进程的描述与控制_第31张图片

5.2.2 多对一模型

第二章 进程的描述与控制_第32张图片

5.2.3 多对多模型

第二章 进程的描述与控制_第33张图片

六、线程的状态与转换

6.1 线程的状态与转换

第二章 进程的描述与控制_第34张图片

6.2 线程的组织与控制

第二章 进程的描述与控制_第35张图片

你可能感兴趣的:(计算机操作系统,计算机操作系统)