虚拟化技术入门

虚拟化技术入门

云计算虚拟化技术
7课时 |
14882人已学 |
(19 评论)

加入学习
加入学习

内存虚拟化面临困难:

  • 操作系统内存地址从0开始
  • 操作系统要求内存地址是连续的

内存虚拟化解决方案:

hypervisor内存重映射

MMU内存虚拟化

  1. direct page table
  • guest and hypervisor共享页表
  • 需要修改内核,不支持windows
  • 广泛用于XEN linux32
  • 优点:切换效率高
  • 缺点:安全性必须通过审计保证
  • 效率85%左右。
  1. virtual TLB
  • 不需要修改内核
  • 相对简单
  • 只能处理访问过的虚拟地址
  1. shadow page table
  • (hypervisor里面有一张影子列表)
  • 不需要修改内核
  • 效率较低
  1. extended page table
  • 硬件层操作,无需软件接入。95-99%性能。
[展开全文]
学叔氪 · 2019-01-06 · 内存虚拟化技术 0

学习了,笔记在哪看?

[展开全文]
groots · 2018-04-25 · 内存虚拟化技术 0

内存虚拟化挑战:

1. 操作系统要求内存从0开始

2. 操作系统要求内存地址连续

低段内存连续

管理更高效

使用superTLBS加速访问效率

 

内存重映射技术

MMU(内存管理单元)虚拟化技术

- Direct page table 直接页表

- Virtual TLB 虚拟TLB

- Shadow page table 影子页表

- Extended page table 硬件扩展页表

 

Direct page table

通过修改内核使Guest和Hypervisor共享同一张页表,使用段保护的方式对地址空间分段,让Guest无法访问Hypervisor的空间。这种技术广泛应用于XenLinux32,因为无需切换页表而相当高效,但安全性必须通过审计保证,且不支持Windows。

Virtual TLB

当Guest访问虚拟地址时触发page fault,Hypervisor通过分析得知是Guest的正常请求,于是将其翻译为Hypervisor的内存地址。该实现方案简单,但因为它只能缓存访问过的虚拟地址,因此效率非常低。

Shadow page table

在Guest内部有一张页表的同时,在Hypervisor中为其建立一张对应的转换表,即影子页表。影子页表的建立过程相对复杂(Guest访问虚拟内存,引发缺页异常,Hypervisor捕获并查询Guest中的页表,最终将Guest到Hypervisor的地址转换关系放入影子页表中)。该实现方案无需修改内核,但效率较低(相对物理机而言,XenLinux32的转换效率为84%左右,而XenLinux64仅为65%左右)。

Extend page table

CPU厂商引入硬件支持,完成虚拟机内存到物理机内存的转换,整个过程无需Hypervisor介入。而Hypervisor唯一需要做的就是在创建虚拟机时,将地址的映射关系放入CPU的某个寄存器当中。该实现方案的效率极高(相对物理机而言,使用4K页的转换效率可达95%以上,而使用2M页可达98%以上)。

[展开全文]
charles.shih · 2017-05-29 · 内存虚拟化技术 0

授课教师

云生态下的创新人才工场
阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >