X86存储器的段描述符学习随笔

为什么需要的段描述符?

保护模式下无法直接裸访内存,所有可访问的内存段,都必须提前在 GDT 中定义登记。段描述符是存储内存段基址、访问界限、运行权限与属性的核心结构,既是 CPU 内存寻址的关键,也是实现内存隔离的基础。没有段描述符,保护模式的隔离、权限管控功能就无法生效。
段描述符结构

其各段含义:

G:粒度位。G=0时,以1B为单位,范围为(1b-1mb(2的20次方X1b)),G=1则以4kb为单位

S:指定描述符的类型,S=0则表示为一个系统段,S=1则表示一个代码段或数据段

DPL:描述符的特权等级。0为最高级,3为最低级

P:段存在位。用于指示描述的段是否存在,P=0,表示对应的内存空间不存在,P=1,表示内存空间存在

D/B:

D:默认的操作数大小;D=0,使用IP,D=1,使用EIP

B:默认的栈指针大小;B=0,使用SP,B=1,使用ESP

type:

相关推荐
星幻元宇VR2 小时前
VR航空航天科普设备助力航天知识普及
人工智能·科技·学习·安全·vr·虚拟现实
d111111111d2 小时前
STM32-UART封装问题解析
笔记·stm32·单片机·嵌入式硬件·学习·算法
寒秋花开曾相惜2 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发
叶子野格3 小时前
《C语言学习:指针》12
c语言·开发语言·c++·学习·visual studio
光影少年3 小时前
前端线上屏幕出现卡顿如何排查?
开发语言·前端·javascript·学习·前端框架·node.js
aacd27194 小时前
C语言之预处理详解ヾ(•ω•`)o
c语言·学习
笨鸟先飞的橘猫4 小时前
广播风暴架构优化方案思考
学习·架构
zhangrelay5 小时前
三分钟云课实践速通--大学物理--python 版
linux·开发语言·python·学习·ubuntu·lubuntu
炽烈小老头5 小时前
【每日天学习一点算法 2026/04/27】缺失的第一个正数
学习·算法