云计算与KVM实践运用2

道锋潜鳞
2020-09-25 / 2 评论 / 40 阅读 / 正在检测是否收录...

上一篇降到硬件虚拟化和软件虚拟化,那么,何为硬件虚拟化何为软件虚拟化呢

1.软件虚拟化技术

顾名思义,这是通过相关软件来模拟直接实现VMM层,纯软件的还原重定向客户机内的系统指令。

早些时候的硬件系统并不支持虚拟化辅助,仅仅只能通过软件对机器码的直接翻译来对目标客户机仿真。那么,既然每一条操作指令都需要软件重定向给物理硬件,可想而知,虚拟化性能较差。而且软件代码复杂度显著增长。不过可以随意模拟平台。

2.硬件虚拟化技术

硬件本身具有辅助能力,能支持客户机指令独立执行,而不完全依赖VMM截取后重定向。大多数情况下,客户机系统与原生系统大同小异。

从2005年起,I家在自家U中加人了硬件虚拟化的支持,简称Intel VT 后期所有的Intel CPU中都可以看见有VT的身影且每一代都有改进。

既然有软/硬虚拟化,那也有全/半虚拟化了

1.半虚拟化

什么是最理想的虚拟化?

1.让客户机不认为自身运行在虚拟化环境中

2.不需要vmm层介入。

抛开第一点,配合修改VMM层,这就是半虚拟化PV 在一方面提升了性能,也简化了VMM的难度。且不过于依赖硬件虚拟化技术的支持,跨平台相对友好。经典的如Virtio 需要双端驱动。

2.全虚拟化

与半虚拟化相反而为之,它则坚持第一点,客户机完全不需要修改。所有指令操作由VMM在系统和硬件之间处理,模拟出完整的类似与物理平台的平台,全虚拟化FV由于达成第一个目标,大大增加了VMM的复杂性。

其实自从2005年硬件虚拟化技术开始发展之前,FV被PF完败,,但在兴起之后,情况彻底改变,VT-x VT-d的出现,代表着硬件虚拟化技术的兴起。

由硬件辅助的FV开始全面超过PV,但半虚拟化也并非停滞不前。以Virtio为代表的半虚拟化一直在发展,虽性能略低于全虚拟化,但其得益于较低的平台依赖率,依旧收到广泛的欢迎。

从框架上看,虚拟化层的位置又可风为Type1 Type2两种虚拟化

Type1虚拟化,这类虚拟化层直接运行于硬件之上,没有宿主机系统的概念,而是直接分配控制硬件资源。如Xen 、VM ESX

Type2虚拟化,这类虚拟化层运行于某一宿主机操作上,如VMwareWorkstation系列,KVM。这类虚拟化层表现为操作系统的一个应用程序,受宿主机系统的调度和管理。通常被抽象为进程。

1

评论 (2)

取消
  1. 头像
    jiaoyu
    Windows 7 · Google Chrome

    这篇文章对我有用谢谢。by 公需科目咨询网https://www.gongxukemu.com

    回复
  2. 头像
    rukou
    Windows 7 · Google Chrome

    继续发扬谢谢。by 四川公需科目https://www.jishurenyuan.com

    回复