64 位单处理器多任务管理
· 阅读需 12 分钟
本文所述为操作系统在适配 64 位处理器时的一般逻辑,并不意味着某一具体操作系统的实现。
我们知道 IA-32e 架构在 64 位模式下取消了硬件任务切换,且强制使用平坦模型。这使得任务切换不再受到 CPU 规则的强约束,这使得任务切换变得更加轻量级。
本文会对 64 位模式下单核处理器的多任务管理的流程和方法做一些简要的整理。
我们先从任务的概念聊起。
概述
任务是一个独立的执行单元,拥有自己的地址空间(代码、数据、堆栈)和状态(寄存器、TSS)
同时为了方便操作系统对任务进行管理,还需要有 PCB 结构。
多个 PCB 串在一起可以形成一个 PCB 链表。