数据段:

E=0(都可读)

0 ED W A

ED=0:向高扩展

ED=1:向低扩展

W=0:不可写

W=1:可写

A=0:未访问

A=1:已方问

代码段:

E=1(不可写,若需要对代码段进行写入操作,则必须使用别名技术)

1 C  R A

C=0:不是一致代码段(普通代码段)

C=1:是一致代码段。

R=0:不可读,只能执行

R=1:可读可执行

A=0:未访问

A=1:已方问


一个任务可使用的整个虚拟地址空间分为相等的两半,一半空间的描述符在全局描述符表中,另一半空间的描述符在局部描述符表中。由于全局和局部描述符表都可以包含多达8192个描述符,而每个描述符所描述的段的最大值可达4G字节,因此最大的虚拟地址空间可为:

4GB*8192*2=64MMB=64TB



选择子=>描述符=>段基地址,

段基地址 + 偏移 = 线性地址。

选择子中的描述符索引字段13位=>描述符表最多包含8192个描述符。

由于每个描述符长8字节,屏蔽选择子低3位后的值就是选择子所指定的描述符在描述符表中的

偏移,

有一个特殊的选择子称为空(Null)选择子,它的Index=0,TI=0,而RPL字段可以为任意值。

空选择子有特定的用途,当用空选择子进行存储访问时会引起异常。空选择子是特别定义的,

它不对应于全局描述符表GDT中的第0个描述符,因此处理器中的第0个描述符总不被处理器访

问,一般把它置成全0。但当TI=1时,Index为0的选择子不是空选择子,

它指定了当前任务局部描述符表LDT中的第0个描述符。