【操作系统】GDT

Intel一共定义了三种表:

  • 中断描述符表
  • GDT
  • LDT

首先来明确几个很基本的概念:

Segment 段
一个逻辑上连续的地址,里面存储的数据具有相似的属性,比如安全级别很相似

Segment Register 段寄存器
CPU的段寄存器又多个,比如SS CS DS等等,另外我们需要知道,在实模式下,段寄存器存储的是段在内存中的首地址,而在保护模式下,段的起始地址在段描述符里面,段寄存器里面存放的是选择子

Selector 选择子
在保护模式下,通过选择子可以索引到描述符,段选择子长16位,段选择子的高13位是描述符索引(Index)。所谓描述符索引是指描述符在描述符表中的序号

Descriptor 描述符
就是用来描述上面段的属性,可以找到段的基质

GDT是全局描述表,只能有一个,里面存啥玩意呢? 里面存的就是一个个描述符,比如

  • 代码段描述符
  • 数据段描述符
  • TSS段描述符

那如何找到GDT呢?这就得通过GDTR了,GDT的长度是不确定的,GDTR保存了GDT的基址和大小

总之:
选择子从GDT确定描述符,描述符确定段基地址,段基地址与偏移之和就是线性地址。所以,虚拟地址空间中的由选择子和偏移两部分构成的二维虚拟地址,就是这样确定了线性地址空间中的一维线性地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值