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:

相关推荐
一隅论数智20 小时前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi201621 小时前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本21 小时前
离散数学第六课
学习·离散数学
AI职业加油站1 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊1 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁1 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
彧azz1 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
我爱cope1 天前
【操作系统 | 计算机硬件:CPU、内存与 I/O 如何支撑操作系统?】
学习·操作系统