段描述符

描述符的概念

所谓描述符(Descriptor),就是描述段的属性的一个8字节存储单元。在实模式下,段的属性不外乎是代码段、堆栈段、数据段、段的起始地址、段的长度等等,而在保护模式下则复杂一些。80386将它们结合在一起用一个8字节的数表示,称为描述符 。80386的一个通用的段描述符的结构如图2.10所示。

段描述符_第1张图片


段描述符不是寄存器,是用来描述一个段的结构,该结构在内存中。保护模式下,CPU首先根据段寄存器的值找到指向的描述符,描述符中记录了段基址,然后再用这个基址计算线性地址。由于保护模式下段寄存器的作用不是声明地址的,而是指向某个段描述符的,也就是说,保护模式下段寄存器是让CPU选择段描述符的,所以段寄存器叫做选择子
每一个描述符是8字节长,其中包含了很多信息,比如这个描述符所描述的段的基地址,段的总长度,访问权限,段的属性,等等。因为它描述了一个段的很多信息,所以才把它这么一片内存区域叫做描述符。
实际处理器里面还包括了很多和保护模式有关的寄存器和硬件,上面的仅仅是其中一部分。
上面讲的结构仅指32位x86系统结构(IA32架构)。

你可能感兴趣的:(段描述符)