
【计】 global segment table
complete; entirely; full; whole
【医】 pan-; pant-; panto-
bureau; game; chessboad; limit; office; station
【经】 bureau
【计】 segment table; SGT; ST
在计算机体系结构中,全局段表(Global Descriptor Table, GDT)是x86架构处理器用于内存管理的关键数据结构。它定义了系统内存中各个段的属性,是处理器从实模式切换到保护模式时必需加载的组件。以下是其核心含义与作用的中英对照解释:
一个存储段描述符(Segment Descriptor)的数组,每个描述符包含内存段的基地址、长度界限、访问权限等属性。GDT是CPU在保护模式下管理内存分段机制的核心表,整个系统仅有一个GDT。
内存分段管理
通过定义代码段、数据段、系统段(如任务状态段TSS)的边界和权限,实现内存隔离与保护。例如:
特权级控制
每个段描述符包含特权级(DPL)字段(0~3级),0级为内核最高权限。CPU通过比较当前代码段的CPL(当前特权级)与目标段的DPL,决定是否允许访问。
地址转换基础
逻辑地址(段选择子 + 偏移量)通过GDT转换为线性地址:
一个段描述符包含以下字段(以64位为例): | 字段 | 作用 | |--------------------|-----------------------------------| | 基地址(Base) | 段在内存中的起始地址(32位) | | 段限长(Limit)| 段的最大长度(20位) | | 访问权限(Access) | 读写/执行权限、特权级等(8位) | | 标志位(Flags)| 粒度(4KB页或字节)、类型等(4位) |
例如:内核代码段的访问字节通常为
0x9A
(表示存在、代码段、可执行、非一致代码)。
特性 | 全局段表 (GDT) | 局部段表 (LDT) |
---|---|---|
作用范围 | 整个系统共享 | 单个任务(进程)私有 |
数量限制 | 系统唯一 | 每个任务可关联一个独立的LDT |
存储位置 | 由GDTR寄存器指向 | 由GDT中的LDT描述符指向 |
典型应用 | 内核代码/数据、TSS、公用段 | 用户进程的私有内存段 |
注:因术语高度专业化,部分解释基于x86架构标准文档与操作系统开发实践。未提供链接的字段因无公开权威来源,仅作技术描述。
“全局段表”是计算机系统中用于内存管理的关键数据结构,其解释需结合“全局”和“段表”两个概念:
全局(quán jú)
指整个系统或程序的整体层面,而非局部或部分。在技术场景中,常表示跨进程、跨模块的全局性管理机制。
段表(Segment Table)
是操作系统内存管理的核心数据结构,用于记录内存中各个逻辑段的属性,包括:
全局段表的具体作用
通过统一管理所有进程的段信息,实现:
技术示例
当程序访问变量时,CPU通过查询全局段表中的段基址和段长度,结合段内偏移量计算物理地址。例如:
物理地址 = 段基址 + 逻辑地址偏移量
需注意:此概念主要用于早期分段式内存管理架构(如Intel x86实模式),现代操作系统多采用分页与分段结合的混合管理机制。
补编产品草拟清单复数数据流复印纸高辛烷值的各处光谱式气体分析器管理程序模拟股权证券喉结假石榴碱计算元件卡曼常数宽度优先策略蝰蛇滥用者藜芦素处理肌肉林德曼氏套管纳妾内线性化尼龙-610纤维皮纳尔氏征钳住三甲氧奋乃静三戊氨上行性麻痹社会主义国家所有制输出动作韦-艾二氏法维护率的设计