首页 . 理学 . 计算机科学技术 . 计算机体系结构 . 虚拟化技术

内存虚拟化

/memory virtualization/
条目作者肖利民

肖利民

最后更新 2022-01-20
浏览 160
最后更新 2022-01-20
浏览 160
0 意见反馈 条目引用

将不相邻的内存区甚至硬盘空间虚拟成统一连续的内存地址空间的技术。虚拟机监视器通常采用分块共享的思想来虚拟计算机的物理内存,需要将机器的内存分配给各个虚拟机,并维护机器内存和虚拟机所见到的“物理内存”的映射关系,使得这些内存在虚拟机看来是一段从地址“0”开始的、连续的“物理”地址空间。

英文名称
memory virtualization
实行地区
全球
所属学科
计算机科学技术

内存虚拟化技术在操作系统原来的机器地址和虚拟地址之间新增了一个内存虚拟化层,用来表示这段连续的“物理”地址空间。内存地址的层次由两层向三层的转变,使得原来的存储管理单元(memory management unit,MMU)失去了作用,因为传统的MMU只能完成一次虚拟地址(virtual address,VA)到物理地址(physical address,PA)的映射(VA→PA),但在虚拟机环境下,经过MMU转换所得到的“物理地址”已经不是真正硬件的机器地址。如果需要得到真正的物理地址,必须由虚拟机监视器(VMM)介入,再经过一次从物理地址到机器地址(machine address,MA)的映射(PA→MA),方能得到计算机的机器地址。

实现内存虚拟化的方式主要有两种:影子页表(shadow page table)技术和硬件辅助技术。影子页表技术为客户机操作系统的每个进程页表,维护一个“影子页表”,并将合成后的映射关系(PA→MA)写入这个“影子页表”中,当客户机访问内存时,真正被装入宿主机MMU的是客户机当前页表所对应的影子页表,从而实现了由客户机虚拟地址到机器地址的直接转换。硬件辅助技术实现内存虚拟化的代表有超微半导体公司(AMD)的NPT技术和英特尔公司(Intel)的EPT技术。以EPT技术为例,它在硬件上直接支持了VA→PA→MA的转化,相比于影子页表,降低了内存虚拟化的复杂度,提升了内存虚拟化的性能。

一方面,通过共享内存,内存虚拟化技术提高了物理内存的利用率;另一方面,对于数据密集型和输入输出(I/O)受限型应用,内存虚拟化能提高其效率并减少其运行时间。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!