在保留的区域中,提交页面必须 指出物理存储器提交到何处以及 多少? √提交的页面在访间时会转变为物理内存 中的有效页面。 ●提交的页面可以是:私有的,也可以被 映射到一个区域视窗中。 √可以通过 vitualfree或Ⅴ irtualfreeEX函 数回收页面或释放地址空间。 回收内存:仍然被保留 释放的内存不被提交,也不被保留
✓ 提交的页面在访问时会转变为物理内存 中的有效页面。 ⚫ 提交的页面可以是:私有的,也可以被 映射到一个区域视窗中。 ✓ 可以通过vitualFree 或VirtualFreeEX函 数回收页面或释放地址空间。 ⚫ 回收内存:仍然被保留 ⚫ 释放的内存不被提交,也不被保留。 在保留的区域中,提交页面必须 指出物理存储器提交到何处以及 多少?
冷一些在此基础上改进的方法 √分两步保留和提交内存可以直到需要时 才提交页面,这样减少内存的使用 √地址空间被保留,然后当需要时再提交, 而不是为全部区域提交页面,这对于需 要潜在、大量和连续内存缓冲区的应用 程序非常有用 在操作系统中这项技术被用于线程的用 户堆栈
❖一些在此基础上改进的方法 ✓ 分两步保留和提交内存可以直到需要时 才提交页面,这样减少内存的使用。 ✓ 地址空间被保留,然后当需要时再提交, 而不是为全部区域提交页面,这对于需 要潜在、大量和连续内存缓冲区的应用 程序非常有用。 • 在操作系统中这项技术被用于线程的用 户堆栈
3)、内存映射文件 内存映射文件定义 内存映射文件可以用来保留一个地址区 域,并将物理存储提交给该区域。与虚 拟内存的差别是:物理存储器来自位于 磁盘上的文件。 内存映射文件有3种可能的应用 √加载和执行exe和d件 √访问磁盘上的数据文件 √实现多个进程间的数据共享
3)、内存映射文件 ❖内存映射文件定义: ⚫ 内存映射文件可以用来保留一个地址区 域,并将物理存储提交给该区域。与虚 拟内存的差别是:物理存储器来自位于 磁盘上的文件。 ❖内存映射文件有3种可能的应用: ✓ 加载和执行.exe和.dll文件 ✓ 访问磁盘上的数据文件 ✓ 实现多个进程间的数据共享
是实现上述三个 冷区域对象: 功能的关键 √区域对象定义:在内存管理器中用来映射虚拟 地址,无论它是在内存,还是在页文件中,应 用程序访问时,就像它在内存中一样。 √区域对象的作用:可以连接到已打开的磁盘文 件,或是已提交的内存;也可以指向那些进程 地址空间更大的文件。(要访问一个非常大的 区域对象,进程只能通过调用 Map viewofFile 函数映射区域对象的一部分,并指定映射范围。 由于在一个时刻只有需要的区域对象视图必须 被映射到内存,进程可以只为映射视图保留地 址空间
❖ 区域对象: ✓ 区域对象定义:在内存管理器中用来映射虚拟 地址,无论它是在内存,还是在页文件中,应 用程序访问时,就像它在内存中一样。 ✓ 区域对象的作用:可以连接到已打开的磁盘文 件,或是已提交的内存;也可以指向那些进程 地址空间更大的文件。(要访问一个非常大的 区域对象,进程只能通过调用MapViewOfFile 函数映射区域对象的一部分,并指定映射范围。 • 由于在一个时刻只有需要的区域对象视图必须 被映射到内存,进程可以只为映射视图保留地 址空间。 是实现上述三个 功能的关键
☆ Windows2000下的具体应用: √Win32应用程序可以通过将文件映射到它的地 址空间来方便地完成文件的IO操作。(不仅 用户应用程序使用区域对象,系统也通过区域 对象加载可执行映象、动态链接库以及设备驱 动程序到内存,高速缓存管理器使用它们的缓 存文件中存取数据。) Windows2000提供了在进程和操作系统之间共 享内存的机制。(共享内存可以定义为对于多 个进程都是可见的内存,或者存在于多个进程 的虚拟地址空间的内存。)
❖ Windows 2000下的具体应用: ✓ Win32应用程序可以通过将文件映射到它的地 址空间来方便地完成文件的I/O操作。(不仅 用户应用程序使用区域对象,系统也通过区域 对象加载可执行映象、动态链接库以及设备驱 动程序到内存,高速缓存管理器使用它们的缓 存文件中存取数据。) ✓ Windows 2000提供了在进程和操作系统之间共 享内存的机制。(共享内存可以定义为对于多 个进程都是可见的内存,或者存在于多个进程 的虚拟地址空间的内存。)