我对全局描述符和局部描述符的一些理解
2014-05-15 15:00
211 查看
在一开始接触保护模式的时候,特别容易被其中的描述符搞得思维混乱,但是在有了一些了解之后,
才发现原来32位系统中的全局描述符很容易理解。下面是我对全局描述符的理解:
全局描述符表GDT:包含一个段的基址、界限以及属性内容。其中段基址和16位系统中的段地址意思是一样的,只是在16位系统中段地址必须是16的倍数,但是在32位系统中可以是任意的地址。段界限可以认为是一个段的长度。段属性的内容太多,具体内容请看《80386 汇编语言程序设计》这本书的第10章。
GDT仅仅只是一个表而已,是一个静态的存在,那么应该怎样引用它?在保护模式中,定义段选择子来使用全局描述符中的具体段地址。
因此在32位系统中段寄存器中存放的不再是像16位系统中那样的段基址,而是段索引,也就是段选择子。
局部描述符表LDT:基本格式和GDT一样,只是其中的意义不一样。一般LDT都是作为段描述符放在GDT中,然后使用段选择子来使用LDT
才发现原来32位系统中的全局描述符很容易理解。下面是我对全局描述符的理解:
全局描述符表GDT:包含一个段的基址、界限以及属性内容。其中段基址和16位系统中的段地址意思是一样的,只是在16位系统中段地址必须是16的倍数,但是在32位系统中可以是任意的地址。段界限可以认为是一个段的长度。段属性的内容太多,具体内容请看《80386 汇编语言程序设计》这本书的第10章。
GDT仅仅只是一个表而已,是一个静态的存在,那么应该怎样引用它?在保护模式中,定义段选择子来使用全局描述符中的具体段地址。
因此在32位系统中段寄存器中存放的不再是像16位系统中那样的段基址,而是段索引,也就是段选择子。
局部描述符表LDT:基本格式和GDT一样,只是其中的意义不一样。一般LDT都是作为段描述符放在GDT中,然后使用段选择子来使用LDT
相关文章推荐
- 从mount -o一些理解结合cfs进行描述,窥探该项目全局。
- 学习OpenGLProgrammingGuide7thEdition有感-OpenGl中的全局及局部坐标系统理解
- Magento全局配置文件的一些理解
- 局部变量和全局变量的作用域的首次理解
- 一些书中很好理解的概念描述
- SqlServer和Oracle中一些常用的sql语句4 局部/全局变量
- 搞清楚局部和全部,搞清楚逻辑和物理,搞清楚这些对于理解一些组件的概念是非常有意义的:
- opengl中局部坐标和全局坐标之我的理解
- SqlServer和Oracle中一些常用的sql语句4 局部/全局变量
- SqlServer和Oracle中一些常用的sql语句4 局部/全局变量
- JAVA接口的一些理解描述
- 关于全局和局部的输入事件处理的一些零碎教训
- GDT 全局描述符与 LDT 局部描述符
- sas宏(3)理解符号表(全局宏与局部宏解析),宏条件运算符,在宏中进行运算
- 理解GDT全局描述符的作用
- 内核第二讲,内存保护的实现,以及知识简介,局部描述符,全局描述符.
- 关于wordpress的$post全局变量,以及主循环the loop的一些个人理解。
- OpenGL模型变换中局部坐标系和全局坐标系的理解
- OpenGL 关于全局固定坐标系统与局部移动坐标系统的理解
- 对作用域、可见性、生存期、静态、动态、全局、局部这些概念的简单理解