内存虚拟化技术
内容介绍:
大型操作系统(比如Linux)的内存管理的内容是很丰富的,而内存的虚拟化技术在OS内存管理的基础上又叠加了一层复杂性,比如我们常说的虚拟内存(virtual memory),如果使用虚拟内存的OS是运行在虚拟机中的,那么需要对虚拟内存再进行虚拟化,也就是vitualizing virtualized memory。
一、内存虚拟化挑战面临的挑战
1、操作系统要求内存地址从0开始
2、操作系统要求内存地址是连续的
(1)低段内存连续
(2)连续内存管理更高效
(3)使用 superTLB 加速访问效率
(4)内存重映射技术
二、MMU 虚拟化技术
MMU 是内存管理单元的缩写
1、Direct page table
(1)Guest and Hypervisor 共享页表
(2)广泛应用于 XenLinux32
(3)优点:切换效率高
(4)缺点:安全性必须用过审计保证
2、Virtual TLB
(1)相对简单
(2)只能处理访问过的虚拟地址
(3)效率低
3、Shadow page table
(1)不需要需改内核
(2)效率较低
4、Extend page table
5、对比