地址空间布局 o Windows2000pr0的内存分配方式 >系统地址空间:GB(见P1中表43) 用户地址空间:2GB(见P141中表4-4) Windows2000 server的内存分配方式 >系统地址空间:1GB >用户地址空间:3GB
二、地址空间布局 ⚫ Windows 2000pro的内存分配方式: ➢ 系统地址空间:2GB(见P141中表4-3) ➢ 用户地址空间:2GB (见P141中表4-4) ⚫ Windows 2000server的内存分配方式: ➢ 系统地址空间:1GB ➢ 用户地址空间:3GB
● Windows2000 server中用户地址3GB的 实现方式: ●通过 boot. in中的/3GB标志设置,这个特 性是作为临时解决方案而添加的,用它 来满足一些应用程序的需要 ●对于一个要访问整个3GB的地址空间的 进程来说,映像头中必需设置 IMAGE LARGE-ADDRESS-AWARE标志。否则 windows2000会保留这3GB的地址空间, 使应用程序不会查看大于0X7 FFFFFFFF 的虚拟内存
⚫ Windows 2000server中用户地址3GB的 实现方式: ⚫ 通过boot.ini中的/3GB标志设置,这个特 性是作为临时解决方案而添加的,用它 来满足一些应用程序的需要。 ⚫ 对于一个要访问整个3GB的地址空间的 进程来说,映像头中必需设置IMAGELARGE-ADDRESS-AWARE标志。否则 windows 2000会保留这3GB的地址空间, 使应用程序不会查看大于0X7FFFFFFFF 的虚拟内存
地址转换机制 转换原理:用户程序以32位虚拟地址方 式编址。处理器利用页面存储管理器创 建和维护的数据结构将虚拟地址变换为 物理地址。 实现方式:虚拟地址不直接映射到物理 地址,而是每个虚拟地址都与一个称作 页表项的结构有关,而虚拟地址映射的 物理地址就包含在这个结构中
三、地址转换机制 ⚫ 转换原理:用户程序以32位虚拟地址方 式编址。处理器利用页面存储管理器创 建和维护的数据结构将虚拟地址变换为 物理地址。 ⚫ 实现方式:虚拟地址不直接映射到物理 地址,而是每个虚拟地址都与一个称作 页表项的结构有关,而虚拟地址映射的 物理地址就包含在这个结构中
地址映射的实现 ●1)、虚拟地址变换 ● Windows2000在X86体系结构上利用二级页表结构来 实现虚拟地址向物理地址的变换 32位的虚拟地 址被解释为三个独立的分量,它们用于找出描述页面 映射结构的索引。 ●页目录索引用于指虚拟地址的页目录在页表的位置。 页表索引则用来确定页表项在页表中的具体位置。即 页表项中包含了虚拟地址被映射到的物理地址 ●页表索引使程序员能在物理页中寻找某个具体的地址
地址映射的实现 ⚫ 1)、虚拟地址变换 ⚫ Windows 2000在X86体系结构上利用二级页表结构来 实现虚拟地址向物理地址的变换。一个32位的虚拟地 址被解释为三个独立的分量,它们用于找出描述页面 映射结构的索引。 ⚫ 页目录索引用于指虚拟地址的页目录在页表的位置。 ⚫ 页表索引则用来确定页表项在页表中的具体位置。即 页表项中包含了虚拟地址被映射到的物理地址。 ⚫ 页表索引使程序员能在物理页中寻找某个具体的地址
2)、虚拟地址变换的基本步骤: 内存管理的硬件设备定位当前进程的页目 录 页目录索引用于在页目录项的位置。 面表索引用于在页表中指明面表项的位置 页表项描述了虚拟页面在物理内存的位置。 四、页表项用于确定页框的位置 ●五、当页表项指向了有效的页时,字节索引引 用于找到物理页内所需数据的地址
⚫ 2)、虚拟地址变换的基本步骤: ⚫ 一、内存管理的硬件设备定位当前进程的页目 录 ⚫ 二、页目录索引用于在页目录项的位置。 ⚫ 三、面表索引用于在页表中指明面表项的位置。 页表项描述了虚拟页面在物理内存的位置。 ⚫ 四、页表项用于确定页框的位置。 ⚫ 五、当页表项指向了有效的页时,字节索引引 用于找到物理页内所需数据的地址