14课 局部段描述符的使用

  前面我们使用的都是全局段描述符表,现在我们来分析局部段描述符表的使用。

什么是LDT(Local Descriptor Table)?

  局部段描述符表:

    本质是一个段描述符表,用于定义段描述符

    与GDT类似,可以看做“段描述符的数组”

    通过定义选择子访问局部段描述符表中的元素

局部段描述符的选择子和全局描述符的选择子在结构上是完全一样的,3-15位为描述符索引值,LDT选择子的第二位恒为1,1-0位为RPL。

局部段描述符表就是一段内存,里面的每一项是一个局部段描述符(第0项也是有意义的),用于描述一段内存。

CPU中有一个专用寄存器专门指向局部段描述符表。(先定义一个常量   DA_LDT    equ  0x82)

原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9477931.html

时间: 2024-10-14 05:15:12

14课 局部段描述符的使用的相关文章

保护模式_1_段寄存器_段描述符_段选择子

1 段寄存器 1-1 段寄存器的结构 图示: 结构体表示: struct SegMent { WORD Selector; WORD Attribute; DWORD Base; DWORD Limit; } 1-2 段寄存器的属性探测 可以通过MOV指令进行读写(LDTR和TR除外) 段寄存器成员简介 探测Attribute是否存在 int var=0; int main() { __asm { mov ax, ss //cs不行 cs是可读 可执行 但不可写 mov ds, ax mov d

段描述符(转)

段描述符是GDT和LDT表中的一个数据结构项,用于向处理器提供有关一个段的位置和大小信息以及访问控制的状态信息.每个段描述符的长度是8字节,含有3个主要字段:段基地址.段限长和段属性.段描述符通常由编译器.链接器.加载器或者操作系统来创建,但绝不是应用程序.图4-13给出了所有类型段描述符的一般格式.   (点击查看大图)图4-13  段描述符通用格式 一个段描述符中各字段和标志的含义如下: (1)段限长字段Limit(Segment limit field):用于指定段的长度.处理器会把段描述

段描述符

; 图示二 ; 高地址………………………………………………………………………低地址 ; | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ; |7654321076543210765432107654321076543210765432107654321076543210| <- 共 8 字节 ; |--------========--------========--------========--------========| ; ┏━━━┳━━━━━━━┳━━━━━━━━━

操作系统学习(五) 、代码段和数据段描述符

一.代码段和数据段描述符格式 段描述符通用格式如下所示: 代码段和数据段描述符中各个位的含义如下所示: 二.代码段和数据段描述符类型 当段描述符中S标志位(描述符类型)被置位,则该描述符用于代码段或数据段.此时类型字段中最高比特位(第二个双字的位11)用于确定是数据段描述符(复位)还是代码段描述符(置位). 代码段和数据段描述符类型如下所示: 对于数据段描述符,类型字段的低3位(位8,9,10)分别用于表示已访问A,可写W,和扩展方向E,根据可写比特位W的设置,一个数据段可以是只读的,也可以是可

[保护模式]段描述符属性_P位_G位

1.P位 P = 1 段描述符有效 P = 0 段描述符无效 2.段描述符与段寄存器的对应关系 Struct SegMent { WORD Selector; //16位段选择子 WORD Attributes; //16位属性 对应的高4字节,从8位开始到23位结束 刚好16字节 DWORD Base: //32位基址 由三部分组成 最高位为高四字节的24-31位 ,第二部分位高四字节的第0-7位,第三部分为低四字节的16-31位 DWORD Limit: //32位段限长 两部分组成,高位在

【从头开始写操作系统系列】页表以及相关的描述符详解

在之前的文章中,我们介绍过 GDT(全局描述符表)以及一致代码段和非一致代码段,这篇文章我们再回到描述符,这次我们来以 ARM 架构为例了解一下页表描述符. 在这篇文章中,我们会看到以下内容: 页表是什么? 一级页表的地址变换过程 由一级描述符来获取二级描述符或者段地址的过程 页表 页表是什么? 页表是一种特殊的数据结构,放在系统空间的页表区,存放逻辑页与物理页帧的对应关系. 每一个进程都拥有一个自己的页表,PCB表中有指针指向页表. (来自百度百科) 通俗的来讲,页表的内容就是一个描述符(关于

My first blog: GDT与基本描述符的结构

参考文章:Intel64 and IA32 Architectures Software Developer's Manual Volume 2 ~ 3 GDT(Global Descriptor Table,全局描述符表)是x86和amd64架构最最基本的数据结构,它存储在内存中,以GDTR记录基地址,是让电脑从实模式跳转到保护模式的台阶.在汇编代码中,我们可以用 lgdt [gdt_base] 来加载GDT到内存中. GDT的结构是这样的: GDTR.base->           ___

【译】x86程序员手册18-6.3.1描述符保存保护参数

6.3 Segment-Level Protection 段级保护 All five aspects of protection apply to segment translation: 段转换时会提供以下5个方面的保护: Type checking 类型检验 Limit checking 限长检验 Restriction of addressable domain 可寻址域的限定 Restriction of procedure entry points 程序入口点的限定 Restricti

usb命令格式、描述符详解

一.USB命令 在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”. 所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范定义了11个标准命令,它们分别是:Clear_Feature. Get_Configuration.Get_Descriptor.Get_Interface.Get_Status.Set_Address. Set_Configuration.Set_Descriptor.Set_Interf