虚拟化内存使用的通用技术被称为基于硬件的地址转换,或者简称为地址转换,您可以将其视为对有限直接执行的通用方法的补充。通过地址转换,硬件可以转换每个内存访问(例如,指令提取、加载或存储),将指令提供的虚拟地址更改为所需信息实际所在的物理地址。因此,对于每个存储器引用,硬件都会执行地址转换,以将应用程序存储器引用重定向到它们在存储器中的实际位置。当然,硬件本身无法虚拟化内存,因为它只是提供了有效地虚拟化内存的低级机制。操作系统必须在关键点参与设置硬件,以便进行正确的转换;因此,它必须管理内存,跟踪哪些位置是空闲的,哪些位置正在使用,并明智地进行干预以保持对内存使用方式的控制。
所有这些工作的目标再次是创造一个美丽的幻觉:程序拥有自己的私有内存,其中驻留着自己的代码和数据。虚拟现实的背后隐藏着丑陋的物理事实:当 CPU(或多个 CPU)在运行一个程序和下一个程序之间切换时,许多程序实际上同时共享内存。通过虚拟化,操作系统(在硬件的帮助下)将丑陋的机器现实转变为有用、强大且易于使用的抽象。