intel将IDT表项分为中断门、异常门和任务门三种类型。
linux进一步将其细分为下列类型:
1. 中断门
用户态不能访问的intel中断门,所有的中断服务程序由中断门激活,DPL=0;
2.系统门
用户态可以访问的intel陷阱门,包括4号(into指令),5号(bound指令)和0x80(int 0x80),DPL=3
3.系统中断门
用户态可以访问的intel中断门,包括 int 3,DPL=3
4.陷阱门
用户态不能访问的intel陷阱们,大部分linux异常处理程序由陷阱门激活,DPL=0
5.任务门
处理“double fault”异常的intel任务门,不能被用户态访问,DPL=0
除任务门外,其它门的段选择符存入一个内核代码段的地址,任务门段选择符存入一个指向全局TSS的指针,TSS存放有异常处理函数的地址