内存管理——段描述符结构中的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

posted @ 2021-10-31 19:32  HyperVS  阅读(494)  评论(0)    收藏  举报