本文主要来自http://www.blogchinese.com/47463/viewspace-1071664
- 描述符与描述符表
8086是16位处理器,有16位的寄存器和数据总线,20位的地址总线,寻址能力为1MB。地址由段基址和段偏移两部分组成,段基址和偏移地址都是16位的,物理地址的计算方式为:物理地址=段基址×16+段偏移。从80386开始,Intel处理器进入了32位时代,地址总线为32位,寻址能力为4GB。此时,通用寄存器变成从16位变成了32位,但段寄存器仍然是16位的,原来的基地址加偏移值的物理地址计算方法已经不适用了,需要新的计算方法。
386以上CPU运行于保护模式时,虽然段寄存器仍然是16位的,但是其意义已经发生了变化:不再是表示段基地址了,而是表示段描述符在描述符表中的索引。此时,段寄存器的值也有了一个新的名称:段选择子。
段描述符是描述段属性的一个8字节数据结构(抽象出来就是一个结构体),分为三种类型:(数据段和代码段)段描述符、系统段描述符和门描述符。
描述符表