ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

GDT段描述符的位说明

2021-05-14 13:35:54  阅读:233  来源: 互联网

标签:表示 当为 GDT 特权 代码段 说明 描述符 内存


 

下面是低位,上面是高位 段基地址: 0-15+16~23+24~31 FFFF FF FF 段界限 0-15+19+16 FFFF F 0xFFFF FFFF:0FFFF 就是GDT的物理地址   G粒度位: 当为0时 段界限以字节为单位 范围(1b~1mb) 当为1时,段界限以4KB为界限 范围(4kb-4gb) S描述符位: 当为0时 表示是个系统段,当为1时表示代码段或者数据段(栈段也是特殊的数据段) DPL特权级位: 分别表示0,1,2,3 其中0是最高位。不同级别的程序相互隔离,严格限制互访。高可以访问低特权级 P段存在位: p位表示描述符对应的段是否存在,当内存紧张时,可能只建立了描述符没有建立内存这时P位就是0 表示段并不存在,p是有处理器负责检查的 如果是0处理器会产生一个中断。这一过程由操作系统提供,负责将该段从硬盘换回内存。将p置为1,在多任务多用户的系统中,这是一种常用的虚拟内存调度策略 D/B操作数大小位或者栈指针大小位或者上部边界标志位 不同段表示不同意思 代码段表示 d=0 表示16位 d=1 表示32位 表示使用 eip还是ip 栈段表示 b=0表示使用sp b=1 表示使用 esp b位也决定上部边界 b=0 就是 sp寄存器最大值 0xffff b=1 esp最大值 0xffff ffff L64专用位 暂时不涉及 置0即可 TYPE 描述符子类型位 对于数据段来说 4位 X,E,W,A 代码段 4位 X,C,R,A x表示可执行 数据段不可执行 默认为0 数据段的E表示段扩展方向 为0向上扩展 向高地址方向扩展。 为1向下扩展 向低地址扩展通常是栈段。 W=0表示不允许写入 C表示特权级依从 0表示非依从的代码段,可以从与它特权级相同的代码段调用,或者通过门调用 1表示 允许从低特权级的程序转移到该段执行。 R=0表示不能读出 A位已访问位 表示最近这个段是否被访问过 每当被访问会被置1 清理由操作系统负责 监视是否还在使用。知道使用频率,内存紧张时把不常用的段退避到硬盘上,从而实现虚拟内存管理 AVL位 软件位 用户使用没啥用

     

标签:表示,当为,GDT,特权,代码段,说明,描述符,内存
来源: https://www.cnblogs.com/feizianquan/p/14768159.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有