虚拟化相关概念与技术整理(1)——关于VMM类型
2017-03-29 03:07
435 查看
做虚拟化相关的工作也有一段时间了,抽出时间把做过的项目和常用的技术梳理一下,能加深理解也能提高。
这篇文章本来打算和以前一样用英文来写,发现太过于耗费时间,毕竟不是母语写作,还是有点难度的。
优先级压缩: 简单来说就是让guest OS跑在较VMM的ring 0 低的优先级ring 1 上,当需要执行特权指令时就触发异常,被VMM截获。
二进制代码翻译:我的理解就是VMM对于guest的二进制代码,发现需要处理的guest指令就将其翻译成支持虚拟化的指令。
可以截获操作系统对于敏感资源和敏感指令的操作,从而向VMM报告异常。
比如说intel的VT-x, 在处理器中引入一个特殊的模式,操作系统一旦进入该模式,无法察觉该模式,但是任何操作都会被该模式报告VMM。
优点: 效率高; 缺点:只支持部分型号设备,需要重写驱动或者协议。
典型产品:VMware ESX server3, KVM
VMM通过调用宿主OS的相关服务来获取资源,创建出来的虚拟机也作为宿主OS的一个进程来参与调度。
优点:个人理解就是充分利用现有的OS的device driver,无需重写;物理资源的管理直接利用宿主OS来完成。
缺点: 效率不够高,安全性一般、依赖于VMM和宿主OS的安全性。
典型产品: VMware server , VMware workstation,virtual PC, virtual server,
VMM处在最底层,拥有全部物理资源,但是与Hypervisor模型不同的是,大部分I/O设备是由一个运行在特权虚拟机中的特权OS来管理的。
CPU和Memory的虚拟化依然由VMM来完成,而I/O的虚拟化则由VMM和特权OS来共同完成。
混合模型集合了上述两种模型的优点,但是缺点就是经常需要在VMM与特权OS之间进行上下文切换,开销较大。
典型产品: window server 2008之hyper-v, Xen,
这篇文章本来打算和以前一样用英文来写,发现太过于耗费时间,毕竟不是母语写作,还是有点难度的。
这篇文章主要总结和介绍一下关于VMM的分类:
按照虚拟平台分类, 可以分为全虚拟化(Full Virtualization)和半虚拟化(Para Virtualization)。
1)全虚拟化:简单来说,就是无需对运行在虚拟化平台上的OS做任何修改;
1,软件辅助的全虚拟化
常见做法就是优先级压缩(Ring Compression)和二进制代码翻译(Binary Translation)。优先级压缩: 简单来说就是让guest OS跑在较VMM的ring 0 低的优先级ring 1 上,当需要执行特权指令时就触发异常,被VMM截获。
二进制代码翻译:我的理解就是VMM对于guest的二进制代码,发现需要处理的guest指令就将其翻译成支持虚拟化的指令。
2,硬件辅助完全虚拟化
软件辅助的虚拟化,就相当于在系统上打补丁,x86厂商尝试在硬件的层面来改善这个问题,就是在硬件本身加入足够的虚拟化功能,可以截获操作系统对于敏感资源和敏感指令的操作,从而向VMM报告异常。
比如说intel的VT-x, 在处理器中引入一个特殊的模式,操作系统一旦进入该模式,无法察觉该模式,但是任何操作都会被该模式报告VMM。
2)半虚拟化:在源码级别修改指令以回避虚拟化漏洞,简单来说,就是运行在虚拟化平台上的OS是被动过手脚的。
典型的做法就是修改OS的相关处理器代码,让出ring 0 ,或者定制指定的I/O协议,以期提高读写效率。按照VMM的实现架构分类,可以分为Hypervisor模型、宿主模型和混合模型。
1)Hypervisor模型
在这种架构里面,VMM可以视为一个具有虚拟化功能的操作系统,即管理物理资源和虚拟环境的创建、管理。优点: 效率高; 缺点:只支持部分型号设备,需要重写驱动或者协议。
典型产品:VMware ESX server3, KVM
2)宿主模型
宿主机OS管理物理资源,VMM作为宿主机OS的一个独立的内核模块来提供虚拟化功能。VMM通过调用宿主OS的相关服务来获取资源,创建出来的虚拟机也作为宿主OS的一个进程来参与调度。
优点:个人理解就是充分利用现有的OS的device driver,无需重写;物理资源的管理直接利用宿主OS来完成。
缺点: 效率不够高,安全性一般、依赖于VMM和宿主OS的安全性。
典型产品: VMware server , VMware workstation,virtual PC, virtual server,
3)混合模型
顾名思义,混合模型就是上述两种模型的混合体。VMM处在最底层,拥有全部物理资源,但是与Hypervisor模型不同的是,大部分I/O设备是由一个运行在特权虚拟机中的特权OS来管理的。
CPU和Memory的虚拟化依然由VMM来完成,而I/O的虚拟化则由VMM和特权OS来共同完成。
混合模型集合了上述两种模型的优点,但是缺点就是经常需要在VMM与特权OS之间进行上下文切换,开销较大。
典型产品: window server 2008之hyper-v, Xen,
相关文章推荐
- 虚拟化相关概念与技术整理(2)——硬件辅助虚拟化简介
- NB-IoT的相关资料整理(基本概念,技术优势,典型案例和当前的进展)
- 关于证书认证技术的相关概念理解
- 关于RSA非对称加密相关概念整理
- 经过一个星期的整理,将有关于python开发和相关技术的书籍整理了一遍,放在百度云里面了
- 相关技术摘要_使用db2摘要(未做整理)
- RMS技术QQ群(24893581)共享:关于RMS相关软件的下载资料
- 技术族谱:软件开发相关知识体系的整理心得(图)
- 关于unicode,mbcs,utf8,charset,encoding等相关概念的说明
- C#和VB.NET中类型相关资料整理
- 关于Symantec技术、资料、经验、工具--精华连载和整理汇总!
- 关于asp技术相关说明
- 关于近期的技术路线整理
- 关于gcc,libc等相关概念的理解
- 关于容量:容易误解的几个技术概念
- 数据库相关--关于数据库恢复技术技巧
- 关于虚拟化技术及Sun xVM Portfolio的介绍