任务的执行
软件或处理器可以使用以下方法之一来调度执行一个任务:
使用CALL指令明确地调用一个任务;
使用JMP指令明确地跳转到一个任务(Linux内核使用的方式);
(由处理器)隐含地调用一个中断句柄处理任务;
隐含地调用一个异常句柄处理任务;
p126;
处理器可使用以下4种方式之一执行任务切换操作:
当前任务对GDT中的TSS描述符执行JMP或CALL指令;
当前任务对GDT或LDT中的任务门描述符执行JMP或CALL指令;
中断或异常向量指向IDT表中的任务门描述符;
当EFLAGS中的NT标志置位时当前任务执行IRET指令;
p129;
以上摘自 Linux内核完全剖析-基于0.12内核 一书;
我还不理解什么是 对描述符执行JMP指令;
TSS描述符、任务门描述符里面可能存了跳转地址,