运行级切换和门

来源:互联网 发布:新手怎么样开淘宝店 编辑:程序博客网 时间:2024/06/06 01:44
只要想切换CPU的运行状态,即其优先级别,就要通过一道门。而从用户态进入系统态的途径也并不限于中断(或异常,或陷阱),还可以通过子程序调用指令CALL/JMP来达到目的。而且当中断发生时还可以安排一次任务切换,叫中断服务进程(任务)。

任务门包含有一个TSS段(必须在GDT中)选择码。当CPU因中断而穿过一个任务门,就会将任务门中的段选择码自动装入TR,使TR指向新的TSS,并完成任务切换。CGP还可以通过JMP/CALL指令实行任务切换,当跳转或调用目标段实际上指向GDT表中的一个TSS描述符时,就会引起一次任务切换。

        触发方式           效果
         CALL/JMP  直接到GDT表的一个TSS描述符      任务切换(装载TR)
任务门  CALL/JMP  硬件中断任务切换(装载TR)
中断门   CALL/JMP 硬件中断           切换运行级
陷阱门   CALL/JMP  int 指令调试                     切换运行级
调用门  CALL/JMP                                 任务切换(装载TR)