【问题标题】:How are segment types distinguished from one another?如何区分细分类型?
【发布时间】:2018-09-04 18:30:31
【问题描述】:

如何区分不同类型的细分?维基百科指出:

段可以定义为代码、数据或系统段

它还指出:

第 12 位清除的描述符是“系统描述符”并被使用 用于特殊目的。

所以,我推测这个“系统位”是用来标识系统段的,但是代码段和数据段呢?此外,由于这些标识符是单独存储的,而不是作为单个 2 位值存储,因此您可以获得组合类型,如系统代码和系统数据段吗?

【问题讨论】:

标签: x86 x86-64 hardware intel gdt


【解决方案1】:

段描述符的Type字段不是一位而是四位。

S 字段定义描述符是否为系统描述符(位清零)。
Type 字段的解释取决于 S 的值。

非系统描述符

系统描述符


为了更好地理解受保护/长模式分段的工作原理,我建议您放弃 Wikipedia 以支持 Intel 手册。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-28
    • 2017-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    相关资源
    最近更新 更多