网站开发者工作描述,久久营销网站,动易的网站系统,建设小说网站的系统有哪些上一篇文章学习了中断与异常的概念#xff1a;【OS学习笔记】三十四 保护模式十#xff1a;中断和异常区别
本片文章接着学习以下内容#xff1a;
中断描述符表中断门陷阱门
1 中断描述符表
我们前面讲了无数次#xff0c;在实模式下#xff0c;是由位于低地址的1M内存…上一篇文章学习了中断与异常的概念【OS学习笔记】三十四 保护模式十中断和异常区别
本片文章接着学习以下内容
中断描述符表中断门陷阱门
1 中断描述符表
我们前面讲了无数次在实模式下是由位于低地址的1M内存中的中断向量表存放中断过程的地址。但是在保护模式下有一点不一样存放中断过程地址的是中断描述符表(IDT)且中断描述符不一定位于低地址处。
顾名思义在中断描述符表IDT中,存放是和中断相关的描述符包括中断门陷阱门和任务门。
任务门在这篇文章中已经学习过了【OS学习笔记】二十六 保护模式八任务门—任务切换
中断门和陷阱门的描述符格式如下图所示 由以上图我们总结以下几点内容
调用门任务门中断门和陷阱门的描述符都非常类似从大的方面来说因为都用于实施控制转移故都包括16位的目标代码段选择子以及32位的段内偏移量中断门和陷阱门的描述符只允许存放在IDT中任务门可以位于GDT,LDT,IDT中保户模式下的IDT可以位于任何位置。因为处理器内部有一个48位的中断描述符表寄存器IDTR保存着中断描述符表在内存中的线性基地址和界限。如下图和GDT一样因为整个系统中只需要一个IDT就够了所以GDTR与IDTR不像LDTR和TR没有也不需要选择器部分。 这就意味着中断描述符表IDT可以位于内存中的任何位置只要IDTR指向它即可。不过为了利用高速缓存使处理器的工作效率最大化建议IDT的基地址是8字节对齐的。
2 保护模式下的中断处理过程示意图
最后我们给出在保护模式下中断处理过程的示意图
当中断和异常发生时处理器用中断向量乘以8的结果去访问IDT从中取得对应的中断或者陷阱描述符。因为IDT是由IDTR指向的所以这很容易做到。找到相应的描述符后中断门和陷阱门中有目标代码段的选择子以及段内偏移量。从而找到GDT或者LDT中的代码段描述符找到代码段描述符后就可以从代码段描述符中取出对应的代码段的基地址与段内偏移量从而取得具体的中断处理过程的代码就可以执行代码了。
注意以上没有考虑分页。
3、总结
本文主要学习中断描述符表中断门和陷阱门三者之间的协调使用关系。
详细的内容还是要参考原书籍这里只是做一个简单的总结。
学习探讨加个人 qq1126137994 微信liu1126137994