门描述符

转载 2016年08月30日 21:46:35
 
在系统中除了存储段描述符和系统段描述符外,还有一类门描述符。门描述符并不描述某种内存段,而是描述控制转移的入口点。这种描述符好比一个同向另一代码段的门。通过这种门,可实现任务内特权级的变换和任务间的切换。所以,这种门描述符也称为控制门。其中,门描述符共分为4种分别是,调用门(CallGates),陷阱门(TrapGates),中断门(Interrupt Gates)和任务门(TaskGates)。
任务门指示任务。任务门内的选择子必须指示GDT中的任务状态段TSS描述符,门中的偏移无意义。任务的入口点保存在TSS中。利用段间转移指令JMP和段间调用指令CALL,通过任务门可实现任务切换。
   中断门和陷阱门描述中断/异常处理程序的人口点。中断门和陷阱门内的选择子必须指向代码段描述符,门内的偏移就是对应代码段的人口点的偏移。中断门和陷阱门只有在中断描述符表IDT中才有效。这两种门是用来描述中断和异常的入口的。其只能出现在IDT(中断描述符表)中(对于IDT后面将有详细描述),不能出现在GDT(全局描述符表)和LDT(局部描述符表)中.
这两种门的格式如下表:
门描述符

注:DPL - 描述符特权级
  P - 门有效标志
 D - 门规模(1 = 32位; 0 - 16位)

这里的段选择子用来查找GDT和IDT,得到一个代码段描述符,并最终得到代码段的基地址,再加上图中的偏移量就能够得到中断处理程序的入口了。由于中断处理程序是在当前任务的上下文中运行的,因此可能会出现中断处理程序与被中断程序特权级不一致的问题,这时就会发生堆栈切换。对于由软中断所产生的中断和异常CPU要求,CPL必须小于等于门的DPL。

在整个中断处理程序中,CPU会将TF置成0,以禁止中断处理程序单步执行,并将NT置成0,以在使用IRET指令返回时是回到同一个任务。对于中断门和陷阱门,其就在于对EFLAGS寄存器中IF标志的处理方法不同,当调用中断门时,IF被清除。而调用陷阱门时则不对IF进行处理。

在从中断处理程序返回的过程中,如果当初是通过陷阱门或中断门进入的,则从堆栈顶弹出EIP和CS,以及EFLAGS。然后根据CS寄存器选择子的RPL字段确定返回后的特权级。值得注意的是,如果RPL为一个内层特权级,则将会产生通用保护故障。对于需要提供出错误码的中断处理程序,则必须先人为地从堆栈中弹出出错误码,在执行IRET指令返回。

进入中断和异常还可以通过任务门,即将中断处理程序作为一个任务进行处理,使用该方法即将中断处理程序当成一个任务来看待,对于这种方式的具体操作在以后的文章中会有讨论。而对于调用门由于其只能出现在GDT和LDT中,因此与我们这里讨论的中断和异常无关。

相关文章推荐

门描述符(gate descriptors)总结

在保护模式下,中断描述符表(IDT)中的每个表项由8个字节组成,其中的每个表项叫做一个门描述符(Gate Descriptor), “门”的含义是指当中断发生时必须先访问这些“门”,能够“开门”(即将...

中断详解(二)——中断描述符、任务门、中断门、陷阱门

什么是中断描述符表     中断描述符IDT表示一个系统表,它与中断或异常向量相联系。每一个中断或异常向量在这个系统表中有对应的中断或异常处理程序入口地址。中断描述符的每一项对应一个中断或异常向量,...
  • Windeal
  • Windeal
  • 2015年03月24日 13:53
  • 3698

USB描述符生成工具

  • 2017年06月17日 15:14
  • 17.43MB
  • 下载

80x86 的进程管理与切换、描述符

  • 2014年08月25日 16:55
  • 808KB
  • 下载

TSS(任务状态段) TSS描述符 任务寄存器(TR) 任务门描述符 学习总结

1 任务状态段(TSS) 任务状态段(Task-State Segment(TSS)),保存任务状态信息的系统段为任务状态段。图7-2描述32位CPU的TSS信息。TSS主要分为动态字段和静态字段。...

USBHID设备报告描述符详解

  • 2013年04月23日 21:56
  • 212KB
  • 下载

usb描述符详细解释

  • 2012年10月18日 13:17
  • 216KB
  • 下载

oracle中监听程序当前无法识别连接描述符中请求服务 的解决方法

原因如下: 你oracle安装成功后,一直未停止数据库(即数据库是启动的),客户端配置成功后,应该一直不会有什么问题。 而一旦你和我同事一样,有时把Oracle安装在虚拟机中,而且Orac...
  • t0404
  • t0404
  • 2016年07月10日 09:59
  • 9274
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:门描述符
举报原因:
原因补充:

(最多只允许输入30个字)