第四章存储管理(2 个
第四章 存储管理(2)
主要内容: °4.1、简介 42、内存管理 °43、虚拟存储技术 44、辅存管理 °45、高速缓存管理
主要内容: ⚫ 4.1、简介 ⚫ 4.2、内存管理 ⚫ 4.3、虚拟存储技术 ⚫ 4.4、辅存管理 ⚫ 4.5、高速缓存管理
43、虚拟存储技术 >0、虚拟存储引入的技术支持 >1、虚拟存储概念 2、存储管理策略 3、 windows2000虚存管理策略 >4、 windows2000内存管理
4.3、虚拟存储技术 ➢ 0、虚拟存储引入的技术支持 ➢ 1、虚拟存储概念 ➢ 2、存储管理策略 ➢ 3、windows 2000虚存管理策略 ➢ 4、windows 2000内存管理
4、 windows2000内存管理 内存管理的主要任务 ●二、地址空间布局 地址转换机制 ●四、用户内存分配方式 ●五、系统内存分配方式 六、物理内存管理
4、windows 2000内存管理 ⚫ 一、内存管理的主要任务 ⚫ 二、地址空间布局 ⚫ 三、地址转换机制 ⚫ 四、用户内存分配方式 ⚫ 五、系统内存分配方式 ⚫ 六、物理内存管理
内存管理的主要任务 Windows2000实现了虚拟内存和管理保留在物 理内存中的虚拟内存子集,这些工作包括两项 主要任务: ●1)、转换或映射进程的虚拟地址空间到物理 内存以便当在进程环境中运行线程读取或写入 虚拟地址空间时,引用正确的物理地址。 2)、当内存被过量使用时,即当运行的线程 或系统代码试图使用比当前的可用内存更多的 物理内存时,页面调度一些内存的内容到磁盘 中,并且在需要的时候再把它们写回到物理内 存中 ●工作集:一个驻留进程的虚拟地址空间子集
一、内存管理的主要任务 ⚫ Windows 2000实现了虚拟内存和管理保留在物 理内存中的虚拟内存子集,这些工作包括两项 主要任务: ⚫ 1)、转换或映射进程的虚拟地址空间到物理 内存以便当在进程环境中运行线程读取或写入 虚拟地址空间时,引用正确的物理地址。 ⚫ 2)、当内存被过量使用时,即当运行的线程 或系统代码试图使用比当前的可用内存更多的 物理内存时,页面调度一些内存的内容到磁盘 中,并且在需要的时候再把它们写回到物理内 存中。 ⚫ 工作集:一个驻留进程的虚拟地址空间子集
地址空间布局 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)、虚拟地址变换的基本步骤: ⚫ 一、内存管理的硬件设备定位当前进程的页目 录 ⚫ 二、页目录索引用于在页目录项的位置。 ⚫ 三、面表索引用于在页表中指明面表项的位置。 页表项描述了虚拟页面在物理内存的位置。 ⚫ 四、页表项用于确定页框的位置。 ⚫ 五、当页表项指向了有效的页时,字节索引引 用于找到物理页内所需数据的地址