虚拟地址空间
- 项目
- 2021/11/27
此页面有帮助吗?
当处理器读取或写入内存位置时,它会使用虚拟地址。 在读取或写入操作过程中,处理器会将虚拟地址转换为物理地址。 通过虚拟地址访问内存有以下优势:
-
程序可以使用一系列连续的虚拟地址来访问物理内存中不连续的大内存缓冲区。
-
程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。 当物理内存的供应量变小时,内存管理器会将物理内存页(通常大小为 4 KB)保存到磁盘文件。 数据或代码页会根据需要在物理内存与磁盘之间移动。
-
不同进程使用的虚拟地址彼此隔离。 一个进程中的代码无法更改正在由另一进程或操作系统使用的物理内存。
进程可用的虚拟地址范围称为该进程的“虚拟地址空间” 。 每个用户模式进程都有其各自的专用虚拟地址空间。 对于 32 位进程,虚拟地址空间通常为 2 GB,范围从 0x00000000 至 0x7FFFFFFF。 对于 64 位 Windows 上的 64 位进程,虚拟地址空间为 128 TB,范围从 0x000'00000000 至 0x7FFF'FFFFFFFF。 一系列虚拟地址有时称为一系列“虚拟内存” 。 有关详细信息,请参阅内存和地址空间限制。
此图说明了虚拟地址空间的一些重要功能。

虚拟地址空间使得处理器在读写内存时能使用虚拟地址而非物理地址,提供了内存隔离、连续地址空间等优势。每个进程有自己的虚拟地址空间,32位进程通常为2GB,64位进程可达128TB。用户空间和系统空间分别对应用户模式和内核模式的代码运行,用户空间的代码不能访问系统空间。此外,系统空间分为分页和非分页缓冲池,后者中的内存不能被调出到磁盘。
最低0.47元/天 解锁文章
2140

被折叠的 条评论
为什么被折叠?



