GDT(Global Descriptor Table)和LDT(Local Descriptor Table)是在x86架构中使用的两种描述符表,用于定义内存段的属性和访问权限。它们之间的主要区别在于作用域和使用方式。

  1. GDT(全局描述符表):

    • GDT是全局性的描述符表,它存储了系统中所有任务共享的段描述符。
    • GDT可以包含多个段描述符,每个段描述符定义了一个内存段的属性,例如基地址、大小、访问权限等。
    • GDT在系统启动时被加载到GDTR(GDT寄存器),全局有效,可由所有任务和进程共享。
    • GDT适用于操作系统内核代码、全局共享的库和驱动程序等。
  2. LDT(局部描述符表):

    • LDT是每个任务(进程)独有的描述符表,它存储了每个任务独有的段描述符。
    • 每个任务都可以有自己的LDT,用于定义任务私有的内存段属性。
    • LDT在任务切换时切换,每个任务可以根据需要加载不同的LDT。
    • LDT适用于多任务操作系统中的用户进程,每个进程可以有自己独立的内存段定义。

使用场景:

  • GDT适用于全局共享的段,如内核代码和数据、全局共享的库和驱动程序等。由于GDT是全局有效的,它可以在整个系统中使用,可以被所有任务和进程访问。
  • LDT适用于多任务操作系统中的用户进程,每个进程可以有自己的私有段。每当任务切换时,可以切换LDT以确保每个任务只能访问自己的私有段。

需要注意的是,现代操作系统往往不使用LDT,而是使用分页机制来实现虚拟内存管理和内存保护。因此,在现代操作系统中,GDT的使用更为常见,而LDT的使用相对较少。

GDT与LDT的区别相关推荐

  1. 什么是GDT,LDT,GDTR及LDTR?

    (1)全局描述符表GDT(Global Descriptor Table)在整个系统中,全局描述符表GDT只有一张(一个处理器对应一个GDT),GDT可以被放在内存的任何位置,但CPU必须知道GDT的 ...

  2. 【2021.03.10】段描述符与段选择子、GDT、LDT

    要点回顾 前文提到,当写入一个段寄存器的时候,只给了一个16位的数值,但是段寄存器有96位. 那么剩下的80位从哪里来的?这个16位的数值是随便写的吗? Windbg指令 指令 功能 r 查看寄存器 ...

  3. L2 对GDT与LDT的理解

    L2 对GDT与LDT的理解 1 内存寻址 1.1 实模式下的内存寻址 1.2 保护模式下分段机制的内存寻址 2 什么是GDT 3 如何找到GDT 4 什么是LDT 5 段选择子 6 再看保护模式下分 ...

  4. 对linux内核中GDT和LDT的理解

    GDT(Global Descriptor Table) 在实模式下当我们需要对一个内存地址进行访问的时候,使用的是 [段基地址:偏移地址],这样计算出来的地址就是内存的实际地址.但是到了保护模式,内 ...

  5. 任务寄存器TR:GDT、LDT、IDT、TR、TSS之间的关系

    摘自<Intel® 64 and IA-32 Architectures Software Developer's Manual Combined Volumes1, 2A, 2B, 2C, 2 ...

  6. 操作系统篇-分段机制与GDT|LDT

    || 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.前言 在<操作系统篇-浅谈实模式与保护模式>中提到了两种模式,我们说在操作系统中,其实大部分时间是待在保护模式中的.因此若想 ...

  7. GDT,LDT,GDTR,LDTR 详解,包你理解透彻

    一.引入 保护模式下的段寄存器 由 16位的选择器 与 64位的段描述符寄存器 构成 段描述符寄存器: 存储段描述符 选择器:存储段描述符的索引 段寄存器 PS:原先实模式下的各个段寄存器作为保护模式 ...

  8. GDT、GDTR、LDT、LDTR的学习

    GDT的由来: 在Protected Mode下,一个重要的必不可少的数据结构就是GDT(Global Descriptor Table). 为什么要有GDT?我们首先考虑一下在Real Mode下的 ...

  9. GDT(全局描述符表)和LDT(局部描述符表)

    每个程序都有自己的LDT,但是同一台计算机上的所有程序共享一个GDT.LDT描述局部于每个程序的段,包括其代码.数据.堆栈等.GDT描述系统段,包括操作系统本身. ①全局描述符表GDT(Global ...

最新文章

  1. IOCP , kqueue , epoll ... 有多重要?
  2. mac os下valgrind的安装
  3. 什么是JavaBean
  4. 文巾解题 26. 删除有序数组中的重复项
  5. Kotlin 普及度增加,代码质量比 Java 更高?
  6. WebDriver原理分析
  7. rabbitmq——镜像队列
  8. addeventlistener事件第三个参数_JavaScript 事件与事件处理机制
  9. 修改蓝牙耳机按键映射_拆解报告:QCY T4 TWS蓝牙耳机
  10. centos6 java安装_CentOS6下安装Java JDK8
  11. 再获数千万融资,湃方科技将工业智联革命进行到底
  12. linux 格式化 lvm2,LVM2
  13. 【优化算法】多策略协同多目标萤火虫算法(MOFA_MOCS)【含Matlab源码 1512期】
  14. 【Python | 杂代码】Python 里Blueprint(蓝图)的运用
  15. win10设置计算机关机时间,Win10怎么设置自动关机时间_Win10设置自动关机教程-192路由网...
  16. 第一行输入一个正整数N,随后的N行各输入一个人的姓名和年龄,中间用空格分隔(形如 “Tom 18“),将字符串转为形如 {“name“:“Tom“,“age“:18} 的字典,按顺序加入到列表中,得到
  17. 华三虚拟机服务器型号,03-虚拟机配置
  18. MATLAB 彩色图转灰色图处理
  19. 什么是优化问题 Optimization Problem
  20. CTFSHOW-信息搜集

热门文章

  1. W5300E01-ARM 交叉编译器(Cross Compiler)用户手册
  2. python替换行中某个数据_python – 复制一些行并更改pandas中的某些值
  3. 2022年网鼎杯题目整理
  4. C#语言实例源码系列-实现软件机器码-注册码注册机制效果
  5. 上海交大鸿蒙系统,稳了!华为聘巨星自研鸿蒙系统,现任上海交通大学教授
  6. MacOS 通过MacPorts 安装snappy
  7. 现代CSS样式重置最佳实践!
  8. 乐视手机优化服务器,乐视手机卡顿怎么办?新技能Get让你的乐视手机顺畅自如...
  9. 为什么最近裁员不断呢?
  10. WLANPro.exe导致紫光输入法失效?Baidu流氓软件也有份