多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 第7章 多任务(Multitasking) 为了更好的保护好多个任务,80386使用了几种特别的数据结构。但是,并没有使用特别的指令来控制多任务。相反,当遇到转移指令是访问的特别的数据结构时,它用不同的方法来解析控制转移。用来控制多任务的寄存器和数据结构是: 1、  任务状态段(Task state segment) 2、  任务状态段描述符(Task state segment descriptor) 3、  任务寄存器(Task register) 4、  任务门描述符(Task gate descriptor) 有了这些数据结构,80386可以快速的从一个任务切换到另一个任务中去,把原先任务的上下文(context)保存起来,以便以后可以重起该任务。除了任务切换以外,80386还进行以下两个任务管理: 1、  中断和异常可以引起任务切换(如果系统设计需要的话)。处理器不但切换到中断处理程序的任务中,而且当中断处理完后还会自动返回原任务。中断任务可以中断低特权级的任务,无论多少级。 2、  当每一次切换到另一个任务时,80386也会切换到另一个LDT和另一个页目录去。这样,每个任务都有了不同的逻辑地址——线性地址,和线性地址——物理地址的映射了。这是另一个保护的特性,它把任务独立开来,以防止它们之间的相互干涉。