文章目录
01、本章的目标和任务
任务切换的方式:
1、由处理器硬件实施的任务管理和切换
- 处理器引入任务状态段
TSS
,用来保存任务状态、并用跟踪任务链表; - 可以使用
jmp、call
指令发起,也可以因中断和异常发起、还可以因中断返回而发起; - 为了支持这些任务切换方式,处理器引入TSS描述符以及任务门;
- 不适用硬件任务切换是因为它很慢,因为处理器要进行一系列检查工作,包括描述符的有效性检查、表界限检查、特权级检查;
- 主流操作系统不使用硬件任务和切换,而是自行实施任务的管理和切换,但是
TSS
还是保留。但是其功能弱化,不在用于保存任务状态,而是用于调用门、中断和异常的处理。 - 通过调用门在特权级之间转移控制时,或因为中断或异常发生中断中间的转移时,需要切换栈,需要从
TSS
中选择对于的栈段选择子和栈指针。
2、由软件实施的任务管理和切换
- 由于主流的操作系统都是使用这种方式进行任务切换和管理,本章主要介绍这方面内容。