大家好,我是秋意零。
上一篇的介绍了软件和硬件虚拟化类型,现在来看看半虚拟化技术和通过硬件虚拟化类型辅助的全虚拟化技术吧!
简介
半虚拟化是一种虚拟化技术,通过修改编译虚拟机操作系统内核,来与VMM配合,这就是半虚拟化技术,也叫准虚拟化技术。
典型的半虚拟化技术是virtio,使用virtio需要在宿主机/VMM和客户机里都相应地装上驱动。
全虚拟化也是一种虚拟化技术,它是不需要修改虚拟机内核。因此,全虚拟化需要模拟出完整的、和物理资源一模一样的资源给虚拟机,它增加了虚拟化层(VMM) 的复杂度。
性能上,2005年硬件虚拟化兴起之前,软件实现的全虚拟化完败于VMM和客户机操作系统协同运作的半虚拟化,这种情况一直延续到2006年。之后以Intel VTx、VT-d为代表的硬件虚拟化技术的兴起,让由硬件虚拟化类型辅助的全虚拟化技术全面超过了半虚拟化技术。但是,以virtio为代表的半虚拟化技术也一直在演进发展,性能上只是略逊于全虚拟化,加之其较少的平台依赖性,依然受到广泛的欢迎。
半虚拟化和全虚拟化的区别在于,一个修改了虚拟机内核,一个未修改虚拟机内核。
虽然未修改虚拟机内核的全虚拟化,性能并没有半虚拟化好,但是通过硬件虚拟化类型辅助的全虚拟化技术性能要高于本虚拟化技术。