
【计】 segment descriptor
part; passage; sect; section; segment
【计】 segment
【医】 piece; sectile; segment; segmentum
【计】 descriptor
段描述符(Segment Descriptor)是x86架构计算机系统中用于内存管理的核心数据结构,其英文全称为"Segment Descriptor"。它定义了内存段的属性与访问权限,包含以下关键字段:
基地址(Base Address)
32位字段,表示段在物理内存中的起始地址。例如,基地址0x0000F000表明段起始于内存中该位置。
段限长(Segment Limit)
20位字段,定义段的最大长度。当使用4KB分页时,实际限长需乘以4096,例如限长0xFFF对应4GB空间。
访问权限(Access Rights)
包含特权级(DPL)、段类型(代码/数据)和存在位(Present Bit)。例如,DPL=00表示仅内核态可访问该段。
标志位(Flags)
控制粒度(Granularity,4KB或1B)和默认操作数长度(16/32位)。例如,G=1时限长单位为4KB。
在保护模式下,段描述符存储于全局描述符表(GDT)或局部描述符表(LDT)中,CPU通过段选择子(Segment Selector)索引定位具体描述符。现代系统虽普遍采用分页机制,但段描述符仍用于实现特权级隔离和硬件任务切换。例如,Windows内核使用特定段描述符管理关键系统代码(来源:Intel® 64 and IA-32 Architectures Software Developer’s Manual)。
段描述符是x86架构中用于内存管理的关键数据结构,主要存储在全局描述符表(GDT)或局部描述符表(LDT)中。每个段描述符占8字节,包含段的基址、界限、访问权限和属性信息。以下是其核心内容的详细解释:
段描述符由以下字段组成(基于32位架构):
段基址(Base)
32位字段,定义段在内存中的起始地址。在保护模式下,该地址是线性地址(若未开启分页则直接映射为物理地址)。
段界限(Limit)
20位字段,表示段的大小。其实际长度由粒度标志(G)决定:
访问控制字段
操作模式相关字段
内存保护
通过DPL和段界限限制程序的非法访问,例如低特权级程序无法访问高特权级段,或访问越界地址会触发异常。
段扩展方向控制
兼容性与模式切换
在实模式与保护模式切换时,段描述符提供线性地址转换和操作尺寸的默认设置。
以上内容综合了多个权威来源的核心定义和实现细节。若需进一步了解具体字段的二进制布局或历史演变,可参考博客园或搜狗百科相关文章。
迸裂补钉肠弛缓床层密度初始表从价收费醋酸杆菌科掸帚定期请求法律上无效的黄连属会计人员甲氯芬那酸酵母成分压出甲酸酐接触维修浸软死胎可动系统设备镰状丛核变形虫属立借据人硫酸氯甲·甲酯模拟值内激素年平均增长率热硫化法任意地山羊诺卡氏菌市当局实施规程石油痤疮