GDT全局描述符表

全局描述符表GDT(Global Descriptor Table)

       在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置,但CPU必须知道GDT的入口,也就是基地址放在哪里

      Intel的设计者们提供了一个寄存器GDTR用来存放GDT的入口地址,程序员将GDT设定在内存中某个位置之后,可以通过LGDT指令将GDT的入口地址装入此寄存器,从此以后,CPU就根据此寄存器中的内容作为GDT的入口来访问GDT了。GDTR中存放的是GDT在内存中的基地址和其表长界限。

      也就是说,GDT是全局的,存放在内存中的某个位置,而这个位置是由你来指定给CPU的,换句话说,你来钦定!

 

 

创建GDT全局描述符表使用到一个48位的寄存器:GDTR寄存器。

1)首先,在内存中划分一些内存段,并且每个内存段赋予一个索引。

2)然后,使用lgdt指令,设置GDT的索引和表信息的内存地址到GDTR寄存器。

3)进入保护模式,指令跳转,从实模式分段方式寻址切换到使用GDT分段方式寻址。

4)GDT可以被放在内存的任何地方,只要提供内存地址给GDTR寄存器就可以了。

 

GDT格式

GDT全局描述符表

  • 表基地址,表基地址位GDT段表在内存的地址,GDT段表是一个列表,存储了多个 GDT段描述符。
  • 表界限:GDT段表的空间信息,以字节为单位。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值