x86内存段式管理机制
来源:互联网 发布:国药一致待遇知乎 编辑:程序博客网 时间:2024/06/10 05:31
段式管理:主存按段来进行分配和管理。这种方式中不按固定的长度对主存进行划分,而是按程度模块(也叫段)的大小来对主存进行划分。程序中的一个模块、数组、表格等分别对应主存中的一个段。
段式管理的长处是主存的段与程序模块相对应,易于管理和维护。
段式管理 在实地址模式下与保护地址模式下是不同的操作方法。其中不同的段式管理方式也是intel x86的实地址模式与保护地址模式的本质区别。
在实地址模式下,线性地址 = 段寄存器的值*4+偏移量。 这种方式主要是把内存的寻址空间从64KB(2的16次方) 增加到1MB。
下面主要介绍保护地址模式
1.介绍几个寄存器
段寄存器CS,SS,DS,ES,FS,GS其中每一个寄存器对应一个相应的段描述符寄存器。“段描述符”也一个全新的数据结构。
段寄存器有的内容叫作“段选择子”,形式如上图所示。
2.GDT表与 LDT表
GDT(global descriptor table)此表保存了系统中所有段的信息,每个表子项为8字节。叫做“段描述符”,所此GDT表也叫全局段描述符表。有一个GDTR寄存器,用于保存GDT表在内存中的首地址。
LDT(local descriptor table)保存了一个进程(任务)所用到的所有的段的信息,表子项也是“段描述符”。
在页式存管中CR3用于保存页面目录的基地址。但请注意此地址为物理地址。
在段式存管中GDTR用于保存段描述符表的基地址,当只用到了段式存管,没有用页式存管时,GDTR的内容为物理地址。
如果使用了页式存管,则GDTR的内容为线性地址,还需要通过页式存管进行变换,CPU才能找到GDT表真正的物理地址。
- x86内存段式管理机制
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- Intel X86 CPU 系列的寻址方式与段式内存管理机制
- X86 Linux分页内存管理机制
- 之一:X86段式内存管理与保护模式
- 分段式内存管理
- i386段式内存管理
- Linux内存段式管理
- 内存管理机制
- 内存管理机制
- 内存管理机制
- 内存管理机制
- 内存管理机制
- 内存管理机制
- 内存管理机制
- X86 CPU段式与页式存管分析
- ptmalloc堆内存管理机制(主要讨论Linux x86下32位系统)
- 关于内存的段式管理
- PHP算法
- C# 利用socket实现语音网络通信
- 《The Problem Behavior Pocketbook》摘要
- VPDN技术简介
- c# web crystal报表
- x86内存段式管理机制
- JAVA高级01_06 Hashtable类 2011-4-20
- 实现表单的自动发送
- linux文件结构相关内容
- 如果我死
- 理解 Draw2d Connection
- .net拼装sql语句使 数据表的行列转换
- VC++编译问题
- python调用shell