保护模式下段寄存器的作用

1、保护模式一,虽然在寻址上没有分段的限制问题,但对要对一个地址空间定义一些安全上的属性,段寄存器就可以发挥作用,叫做段描述符
2、段描述符表保存了段落描述符,段寄存器中的16位用来做段描述表的索引信息
3、段描述表保存在两个特有的寄存器中
(1)GDTR寄存器,指向全局描述表(GDT),为系统中的所有任务共用的,通常是操作系统自己用的。指向内存地址
(2)LDTR寄存器,指向LDT,每个任务一个,包含任务私有的描述符。GDT中存放了的所有的LDT对应的描述符,LDTR指向该描述符的在GDT中的索引
如何让Arduino IDE支持你手里的STM32 nucleo开发板 Arduino IDE开发环境在默认情况下不支持STM32 NUCLEO开发板,只有通过添加附加开发板管理包才能使用。目前为止,只有一部分板子支持使用Arduino IDE开发环境进行开发,分别是 Nucleo F207ZG, Nucleo F429ZI, Nucleo F030R8, Nucleo F091RC, Nucleo F103RB, Nucleo F303RE, Nucl... 阅读详情

相关推荐

分布式光纤传感(DFOS)DTS/DAS/DSS 三合一:10公里管线监测实战与数据解读

本文详细介绍了分布式光纤传感(DFOS)技术在10公里管线监测中的实战应用,通过DTS(温度)、DAS(振动)、DSS(应变)三合一系统,实现对管线健康状态的立体感知。文章涵盖工程部署、数据采集、多物理量数据融合及噪声抑制等关键技术,展示了如何通过一根光纤完成复杂监测任务,显著提升管线安全性和维护效率。

weixin_29168153的博客 315

win32 007

这是不是说,在保护模式下,段寄存器就不再有用了呢? 答案是否定的!实际上段寄存器更有用了,虽然在寻址上不再有分段的限制问题,但在保护模式下,一个地址空间是否可以被写入,可以被多少优先级的代码写入,是不是允许执行等涉及保护的问题就出来了。 要解决这些问题,必须对一个地址空间定义一些安全上的属性。段寄存器这时就派上了用途,不妨将这些属性存放在段寄存器中! 但是问题来了,涉及属性和保护模式下段的其

刘明智的专栏 737

开关电源EMC整改实录:用WSX系列共模电感搞定30MHz辐射超标

本文详细介绍了开关电源EMC整改实战,通过WSX系列共模电感成功解决30MHz频段辐射超标问题。文章分析了共模干扰的产生机制,对比了不同磁芯材料的性能差异,并提供了电路布局优化与安装技巧,最终通过实测数据验证了整改方案的有效性。

weixin_29305313的博客 415

汇编语言(一)- 寄存器的作用

汇编语言(一)- 寄存器 80x86寄存器组 80x86是Intel一系列cpu的代称,其中8088,8086,80286为16位cpu,80386为32位寄存器。其体系如下: 备注:通过寻址的方式可以使8088的最大寻址为1MB cpu中的寄存器可以分为程序可见和程序不可见,汇编语言操作的就是程序可见的寄存器,程序不可见的寄存器为系统所使用。下面以80x86中16位的cpu为例展示其程序可见的寄存器: 程序可见的寄存器共分为:8个通用寄存器,2个专用寄存器,4个段寄存器共14个。 其体系大致如下:

weixin_44184990的博客 2458

保姆级教程:用OpenCV的calibrateHandEye()搞定机器人手眼标定(附Python代码)

本文详细介绍了如何使用OpenCV的calibrateHandEye()函数完成机器人手眼标定,解决机械臂与相机坐标系对齐问题。教程涵盖从基础原理、数据采集到Python代码实现的完整流程,特别适合需要精确视觉引导的机器人应用开发。通过手眼标定,可确保机械臂准确抓取相机检测到的目标物体。

weixin_33712987的博客 517

深入构建加密货币价格预测系统:从数据获取到模型优化的完整指南!

🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1276

第四章 保护模式入门

在实模式下,用户可以访问底层,用户程序乃至操作系统的数据都可以被随意地删改。存在数据安全的问题。访问内存过小且麻烦,内存不够用,资源也不够用。在保护模式下,物理内存地址不能直接被程序访问,程序内部的地址(虚拟地址)需要被转化为物理地址后再去访问。指令执行单元EU是执行指令的唯一部件,一次只能执行一个指令,单核CPU的情况下,只有一个指令处于执行中。CPU中的各部分也是同时只能做一件事,不过在并行工作,各司其职。CPU的指令执行过程分为取指令、译码、执行三个步骤。

weixin_44918105的博客 1085

华为防火墙双线路配置实战:5分钟搞定主备自动切换(含健康检查避坑指南)

本文详细介绍了华为防火墙双线路配置实战,包括主备自动切换和健康检查机制的优化技巧。通过智能健康检查机制,华为防火墙能实现毫秒级故障自动切换,确保网络高可用性。文章提供了从架构设计到实战配置的全流程指南,并分享了常见配置误区与解决方案,帮助中小企业快速搭建稳定可靠的网络架构。

weixin_30872337的博客 605

保护模式-段寄存器

在x86架构中,内存被划分为多个段(Segment),每个段的大小和属性都不同。段是一段连续的内存区域,它可以包含代码、数据、堆栈等信息。通常,一个段的起始地址和大小通过段描述符来描述,段描述符是一个数据结构,包含了该段的属性信息,如访问权限、基地址、段长等。在x86架构中,段寄存器用于确定CPU在访问内存时需要操作的段。段寄存器存储着当前正在使用的段选择符,段选择符是一个16位的值,它包含了该段的段描述符在GDT(全局描述符表)或LDT(局部描述符表)中的偏移量,以及该段的特权级。

weixin_43074760的博客 1045

YOLO26核心模块解析:SimSPPF轻量化空间金字塔池化的原理与优势详解

SimConv作为现代深度学习的基础构建块,其设计虽然简洁,但包含了多项关键技术的有机组合。通过将卷积、批量归一化和激活函数整合为统一模块,SimConv不仅提供了稳定的训练特性和良好的表达能力,还为后续更复杂网络架构的发展奠定了基础。SimConv的成功在于其体现了深度学习设计的核心理念:简洁性与有效性的平衡。它证明了通过合理的技术组合,可以在不显著增加复杂度的前提下大幅提升模型性能。随着深度学习技术的持续发展,SimConv及其变种将继续作为重要的基础组件,推动计算机视觉和人工智能技术的进步。

know_F0727的博客 2619

Unity引擎开发:复杂动作系统_动作捕捉数据的应用与整合

通过以上步骤,我们可以在Unity中有效地应用和整合动作捕捉数据,以实现更加真实和流畅的动画效果。从导入文件格式的选择,到预处理和优化,再到实时应用和调试验证,每一步都至关重要。希望本文能帮助你在Unity项目中更好地利用动作捕捉数据,提升动画质量和性能。

chenlz2007的博客 958

Windows保护模式(一)段寄存器&GDT表

段式内存管理是将内存划分成若干段,处理器在访问一个内存单元时通过“段基址+偏移”的方式计算出实际的物理地址。 在Intel x86处理器中,有专门的段寄存器,指定每条指令在访问内存时指定在哪个段上进行,以及该段的长度,读写属性,特权级别等。段式内存管理与页式内存管理关系如下图。 Windows采用了页式内存管理方案,在Intel x86处理器上,Windows不使用段来管理虚拟内存,但是,Intel x86处理器在访问内存时必须要通过段描述符,这意味着Windows将所有的段描述符都构造成了从基地址0开始

sky123博客 3158

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

保护模式下如何寻址

此时,段寄存器显然无法直接提供地址,但是它还是很有用的。实模式下:段值是地址的一部分,如段值XXXXh标示xxxx0h开始的一段内存。保护模式:段值仅是一个索引,用来指向一个数据结构(其实就是GDT)中的一个表项,此表项中详细定义了段的起始地址、界限、属性。举例子:

云里雾里的专栏 2114

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

段的定义、段寄存器的结构

如有错误,欢迎指正

yyyooa的博客 2967

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

(1)段描述符,段选择子,段寄存器

一.段描述符 实模式: 在这里插入代码片 寻址方式:段基址<<4(20位地址)+段内偏移 保护模式: 寻址方式:段基址计算方式不一样,但是段内偏移一样 特点:增加了许多约束条件,信息量多,一个寄存器(GDTR)放不下,所以指向了一个地址 全局描述符(里面有很多表项) 每一个表项称为段描述符(64字节) 段描述符描述了内存段的起始地址,大小,权限 段描述符结构: 让我们拆分段描述符: 第三个:00cf9300`0000ffff 二进制:000

weixin_46625454的博客 334

Linux内核学习笔记 -07 保护模式之段机制

上图:64位系统反汇编后的sample结果。最左边的是虚地址,中间的是指令码,最右边位AT&T的汇编指令 CPU访问虚地址,MMU转换为物理地址发送给存储器

我思故我在! 608

段描述符高速缓冲寄存器

在实模式下,段寄存器含有段值,为访问存储器形成物理地址时,处理器引用相应的某个段寄存器并将其值乘以16,形成20位的段基地址。在保护模式下,段寄存器含有段选择子,如上所述,为了访问存储器形成线性地址时,处理器要使用选择子所指定的描述符中的基地址等信息。为了避免在每次存储器访问时,都要访问描述符表而获得对应的段描述符,从80286开始每个段寄存器都配有一个高速缓冲寄存器,称之为段描述符高速缓冲寄存器

tasty 1943

IA-32体系结构CPU保护模式常见误区

立志于成为系统程序员的同学们,或者尝试操作系统开发的程序员们,在阅读IA-32体系结构(以下简称80386)保护模式相关资料时,常常被一些表述不清晰,甚至可能存在理解错误的资料所误导。笔者简单总结了80386保护模式中的一些常见误区,这些误区曾经被国内的一些教材反复引用,在此列出,以供学习者参考。   1、80386保护模式下的段寄存器是16位的   错误!实际上无论实模式还是保护模式,8

516

GDT 全局描述符表,LDT 局部描述符表

在windows开启时,CPU开启保护模式 在保护模式下段寄存器由16位的选择器加64位段描述符寄存器组成 段描述符寄存器保存段描述符 选择器保存描述符的索引 GDT 全局描述符表在系统中只有一个,GDT可以放在内存中的任何位置,但是CPU中的GDTR寄存器保存着GDT表的基地址,GDTL寄存器保存着GDT表的长度 ,LGDT指令可以修改GDTR寄存器的GDT表的基地址 LDT 局部描述符表可以有若干张表,每个任务多可以有一张。我们可以理解为GDT位一级描述符表,LDT为二级描述符表 ...

日志 584

GDT-全局描述符表

    32位保护模式下段寄存器保存的是GDT表项的索引。     GDT的入口8个字节是一个无效的空描述符,以防止我们在寻址前错误的设置段寄存器为0x0,这时候CPU会抛出一个异常,实际上是一个中断。     GDT结构:      ...

whime 857

保护模式详解

在ia32下,cpu有两种工作模式:实模式和保护模式。 在实模式下,16位的寄存器用“段+偏移”的方法计算有效地址。 段寄存器始终是16位的。在实模式下,段值xxxxh表示的以xxxx0h开始的一段内存。但在保护模式下,段寄存器的值变成了一个索引(还有附加信息)这个索引指向了一个数据结构的表(gdt/ldt)项,表项(描述符)中详细定义了段的其实地址、界限、属性等内容。 保护模式需要理解:描...

weixin_30471561的博客 269

从0实现32位操作系统-重新加载GDT表

实现一个轻量级的32位类linux操作系统

qq_49340792的博客 500

GDT LDT 的使用 虚存管理

转载:http://www.techbulo.com/708.html GDT,LDT,GDTR,LDTR 详解,包你理解透彻 一、引入 保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存储段描述符的索引 段寄存器 PS:原先实模式下的各个段寄存器作为保护模式下的段

songjiajia的博客 404

OS理论之描述符与门

2.3.5选择符与描述符表寄存器在实模式下,段寄存器存储的是 真实的段地址,在保护模式下,16 位的段寄存器无法放下32 位 的段地址,因此,它们被称为选择符,即段寄存器 的作用是用来选择描述符。选择符的结构如图2.16 所示:                         图 2.16 选择符的结构可以看出,选择符有三个 域:第15~3 位这13 位是索引域,表示的数据为0~8129 ,用于指向全 局描述符表中相应的描述符。第二位为选择域,如果TI=1 ,就从局部描述符表中选

边城水手的专栏 661

win10+VM17+虚拟机win10搭建(四)

这张图清晰呈现了保护模式下 “分段机制” 的核心逻辑:段寄存器的段选择子是 “索引”,通过 GDT 找到对应的段描述符,从描述符中获取段的基地址,再结合代码中的偏移地址,最终计算出要访问的线性地址—— 整个过程实现了 “通过段选择子间接关联段属性、计算实际内存地址” 的保护模式特性。OD 截图验证:截图中FS=003B后标注的7FFD0000(FFF),正是该段选择子对应的段描述符字段(7FFD0000是base基地址,FFF是limit段界限),进一步说明这些属性属于段描述符而非段寄存器本身。

fengye207161的博客 1068

gdt描述_GDT,LDT,GDTR,LDTR 详解,包你理解透彻 | 技术部落

一、引入保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成段描述符寄存器: 存储段描述符选择器:存储段描述符的索引段寄存器PS:原先实模式下的各个段寄存器作为保护模式下的段选择器,80486中有6个(即CS,SS,DS,ES,FS,GS)80位的段寄存器。由选择器CS对应表示的段仍为代码段,选择器SS对应表示的段仍为堆栈段。二、详解先说明一下概念(1)全局描述符表GDT(G...

weixin_33193177的博客 761
上一篇: WIN32汇编-反汇编
下一篇: WIN32汇编-HELLO,WORLD!
deepfuture
博客等级 码龄17年 210粉丝 1287原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值