虚拟化系列介绍(二)

网友投稿 707 2022-05-30

对上节虚拟化技术的补

在《虚拟化系列介绍(一)》文章里,主要介绍了程序虚拟化(常见的就是Java虚拟机);混合虚拟化(常见的有微软的Virtual PC;VMware的VMware Workstation;VirtualBox等)和裸金属架构虚拟化(常见的有VMware ESX Server,微软的Hyper-V(微软2003年收购Connectix后获得的技术发展而来),思杰收购的XenServer(源于英国剑桥大学计算机实验室开发的一个Xen虚拟化开源项目),Redhat,大华为等推荐的KVM)。

后来有人问及还有全虚拟化,半虚拟化,操作系统虚拟化等,然后说我是不是搞错了,搞混了。其实我想说你们没有错,多种名词和说法都可以,我的那种说法也是对的——问题的主要原因,是“横看成林侧成峰,远近高低各不同”,“仁者见仁,智者见智”,也就是说看法和角度不同而已。

下面我们再聊一下全虚拟化,半虚拟化,操作系统寄生虚拟化等。

同时我也谈及VMware ESX Server由于把底层物理硬件的驱动程序整合到Hypervisor管理层中,所以管理层显得比较胖,我们不妨称其为胖虚拟化。这种架构对于底层物理硬件的要求比较高,兼容性和安全性的挑战比较高。

微软的Hyper-V,Hypervisor管理层仅用于管理CPU和内存,而不包含底层物理硬件的驱动程序,所以管理层显得比较瘦,我们不妨称其为瘦虚拟化。由于不包含硬件驱动,所以代码量比较小,安全性更高、兼容性也更好。

也就是说,从Hypervisor层来看,又可分为胖虚拟化和瘦虚拟化。

另外,从支持的来宾操作系统和性能上来说,又可以分为半虚拟化,全虚拟化。进一步介绍如下。

半虚拟化(ParaVirtulization)

简介:它利用CPU的虚拟化技术来实现Hypervisor对底层硬件的共享访问,但是由于在Hypervisor 上面运行的来宾操作系统已经集成与半虚拟化有关的代码,使得来宾操作系统能够非常好地配合Hyperivosr来实现虚拟化。通过这种方法将无需重新编译或捕获特权指令,使其性能非常接近物理机,其最经典的产品就是微软的Hyper-V,思杰的Xen,可见对应上面的廋虚拟化。

优点:这种模式和全虚拟化相比,架构更精简,而且在整体速度上有一定的优势。

缺点:需要对来宾操作系统进行修改,所以在支持的来宾操作系统方面比较少。

代表XEN:

(图十、XEN架构)

全虚拟化(FullVirtulization)

简介:它与半虚拟化有一些类似,它也利用Hypervisor在客户操作系统和硬件之间捕捉和处理那些对虚拟化敏感的特权指令,使客户操作系统无需修改就能运行,速度会根据不同的实现而不同(它有借助CPU硬件的技术实现,也有软件完全模拟的部分),大致能满足用户的需求。这种方式有KVM,VMware ESX,可见对应上面的胖虚拟化。。

优点:无需修改就能支持几乎所有的来宾操作系统,也就是说兼容性不错。

缺点:因为某些部分有模拟的功能,所以I/O和性能方面相对前者较差。

代表KVM

(图十一、KVM)

额的个神,上面两张图看得有点头晕,我们能不能简化一下,用大伙都能理解的语言说?答案是能,并简化如下:

两者的差别,最简化可以用下图十二和图十三表示。

(图十二、半虚拟化)

(图十三、全虚拟化)

虚拟化系列介绍(二)

虚拟化 容器

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:实时立体匹配网络StereoNet
下一篇:Lua 协同程序(coroutine)
相关文章