开发者学堂课程【虚拟化技术入门:内存虚拟化技术】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/374/detail/4697
内存虚拟化技术
内容介绍:
大型操作系统(比如 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)效率较低
(3)
4、Extend page table
5、对比