内存管理——段描述符结构中的Type字段
所有内容均翻译自 Intel CPU 手册,再经过整理,难免有误,见谅。
Type 是什么取决于S位。
S=1:
- 当S=1,表示该段描述符是一个代码段描述符(高位=1)或者数据段描述符(高位=0)。

# 对于数据段,低三位是A(是否访问过)、W(是否可写)、E(扩展方向)。堆栈段属于数据段,必须是可读可写。用一个不可写的段描述符装载入SS寄存器会引发通用保护异常(#GP)。当E=0,表明向段内读写数据时从低地址向高地址方向进行;当E=1,表明向段内读写数据时从高地址向低地址方向进行。
# 对于代码段低三位是A(是否访问过)、R(是否可读)、C(一致位)。代码段不可写。
S=0:
- 当S=0,表示该描述符是一个系统描述符。

# 系统描述符类型:LDT、TSS、调用门、中断门、陷阱门、任务门。
参考资料
Combined Volume Set of Intel® 64 and IA-32 Architectures Software Developer’s Manuals

浙公网安备 33010602011771号