前言:段描述符和段选择子的学习 知识点:CPU的眼里只有GDT和IDT表,在windows中LDT没有用到 当我们执行类似 MOV DS, AX 指令时,CPU会查表,根据AX的值来决定查找GDT还是LDT,查找表的什么位置,以及查出多少数据 GDT(全局描述符表) gdtr是一个寄存器 ...
段选择符用来表示指向哪个段描述符,即用来在段描述符中寻址,前 位是地址,能寻 到 ,因此段描述符表的大小就是 ,他还牵扯到一些特权级的限制,后三位 段描述符是用来表示这个段的一些性质的,比如段基址和段长之类的。我们在寻址的时候,一般是从段选择符找 到段描述符,然后从段描述符中取出段基址,加上偏移就形成了我们要访问的地址。 中有 个 位的段寄存器:CS DS SS ES,分别用于存放可执行代码的代码 ...
2013-02-03 15:36 1 5020 推荐指数:
前言:段描述符和段选择子的学习 知识点:CPU的眼里只有GDT和IDT表,在windows中LDT没有用到 当我们执行类似 MOV DS, AX 指令时,CPU会查表,根据AX的值来决定查找GDT还是LDT,查找表的什么位置,以及查出多少数据 GDT(全局描述符表) gdtr是一个寄存器 ...
事实上,在GDT中存放的不仅仅是段描述符,还有其它描述符(百度百科)。 一,段描述符的结构 描述符中指定了32位的起始地址和20位的段边界, 实模式下,段地址要左移4位, 32位保护模式下,段地址是32位的线性地址,如果未开启分页功能,该线性地址就是物理地址。 其他位的作用 ...
1 段寄存器 1-1 段寄存器的结构 图示: 结构体表示: 1-2 段寄存器的属性探测 可以通过MOV指令进行读写(LDTR和TR除外) 段寄存器成员简介 探测Attribute是否存在 探测Base是否存在 探测Limit是否存在 1-3 段描述符与段选择 ...
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html GDT表与段描述符 一、介绍 如果之前学习过“实模式”,那很明白“段”的意义,在实模式中采用“段+偏移”的机制寻址。 现在,我们使用“保护模式 ...
写在前面 此系列是本人一个字一个字码出来的,包括示例和实验截图。由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新。 如有好的建议,欢迎反馈。码字不易 ...
一、代码段和数据段描述符格式 段描述符通用格式如下所示: 代码段和数据段描述符中各个位的含义如下所示: 二、代码段和数据段描述符类型 当段描述符中S标志位(描述符类型)被置位,则该描述符用于代码段或数据段。此时类型字段中最高比特位(第二个双字的位11)用于确定 ...
一、段描述符的分类 在上一篇博文中已经说过,为了使用段,我们必须要创建段描述符。80X86中有各种各样的段描述符,下图展示了它们的分类。 看了上图,你也许会说:天啊,怎么这么多段描述符啊!我可怎么记住呢? 别担心,我会在以后的博文中,跟随原书的作者,为您逐步介绍。我们的学习是循序渐进 ...
PCB也即进程控制块,是处于虚拟内存空间里面那3-4G内核空间的, 它会维护一个文件描述符表,其实就是一个可以拥有0-1023元素个数组, 没当打开了一个文件时就会返回一个文件描述符,默认由低向高位默认分配的 这个文件描述符表默认打开了三个文件,标准输入、标准输出、标准错误 ...