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

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。这类虚拟化层表现为操作系统的一个应用程序,受宿主机系统的调度和管理。通常被抽象为进程。


天渊应龙圣神大帝-道锋潜鳞

天渊应龙圣神大帝-道锋潜鳞

以凡人之躯,承载天之道义

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注