操作系统笔记-2.1.6.3 线程的状态与切换
·
王道操作系统笔记,视频链接:2.1.6.3 线程的状态与切换
本节为2022大纲新增考点。
知识总览
线程:
- 状态与转换
- 组织与控制
PS:线程的状态与转换和进程的状态与转换几乎是一模一样的。
线程的状态与转换
如图所示:
线程的三个主要状态,即就绪态、运行态、阻塞态的转换与进程完全一致。
线程的组织与控制
- PCB 为进程控制块,而 TCB 为线程控制块。
- TCB的结构包含信息如下:
- 线程标识符(TID,与PID类似)
- 线程切换时要保存/恢复的部分:
- 程序计数器PC(线程目前执行到哪里)
- 其它寄存器(线程运行的中间结果)
- 堆栈指针(堆栈保存函数调用信息、局部变量等)
堆栈指针通常恢复到 SP,即堆栈寄存器中
- 线程运行状态(运行/就绪/阻塞)
- 优先级(线程调度、资源分配的参考)
- 线程表:
- 多个 TCB 组织成一张线程表
- 可以每个进程一个线程表,可以系统中所有线程组成线程表,也可以根据状态不同组织线程表,不同系统可以采取不同的策略。
- 图示:

- 线程的控制:前面的1,2,3,4都是线程的组织,线程的控制指的是让线程在不同状态中的来回切换,依然与进程类似。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)