Quoted from Inter Intel 80386 Programmer's Reference Manual
The 80386 switches execution to another task in any of four cases:
遇到以下四种情况,发生任务切换
1. The current task executes a JMP or CALL that refers to a TSS descriptor. 2. The current task executes a JMP or CALL that refers to a task gate. 3. An interrupt or exception vectors to a task gate in the IDT. 4. The current task executes an IRET when the NT flag is set.
To cause a task switch, a JMP or CALL instruction can refer either to a TSS descriptor or to a task gate.
The effect is the same in either case: the 80386 switches to the indicated task
也就是说,想要发生任务切换,就要去访问TSS描述符 或者 访问 任务门。 这个任务门可以放到 IDT中。