虚拟内存与虚拟地址空间

Kar*_*n15 3 memory process virtual-memory computer-architecture

我知道虚拟内存是一个页面文件,计算机使用它在硬盘上存储一部分 RAM 以供运行进程使用。但是虚拟地址空间有什么不同呢?它是RAM还是硬盘或两者兼而有之?

gvi*_*iew 8

虚拟地址空间是单个程序在执行时所看到的。根据程序的配置方式,此地址空间将与操作系统支持的最大值一样大。

然后操作系统内核负责将 vas 中的地址映射到物理内存,即 RAM 或系统页面文件。

通过这种设计,程序本身不知道资源和实际地址,并且可以像它们自己拥有所有系统内存一样运行,或者至少是单个进程可以使用的最大内存。

简而言之,一个程序与 VAS 一起工作,操作系统负责将 VAS 映射到实际存储,以便这对正在运行的程序不可见。正在运行的程序只能看到它的 VAS。