计算虚拟化
介绍
把物理主机上物理资源(CPU,内存,IO外设),通过虚拟化层抽象成超量、等量的逻辑资源(虚拟CPU,虚拟内存,虚拟IO设备),然后重新组合形成新的虚拟主机。
实现方式
全虚拟化
靠虚拟化引擎实现
半虚拟化
靠修改虚拟机内核引擎实现
硬件辅助虚拟化
靠硬件辅助实现
对象
CPU
用户态和内核态
资源管控、安全
部署虚拟化后的用户态和内核态
发现问题
不同操作系统的虚拟机(linux,Windows等)指令集存在差异化,有些虚拟机的请求指令,物理机操作系统内核无法识别。
其实CPU虚拟化做的事情就是“翻译”。
解决问题
软件翻译法(全虚拟化)
- 说明
设计一个翻译器,即VMM,虚拟机通过运行在内核态的VMM程序,实现指令集翻译,然后进行调用。
- 缺点
软件翻译法(半虚拟化)
- 说明
不通过VMM进行指令集翻译,而是在Guest OS内修改,然后直接访问物理机内核,调用外设。
- 缺点
硬件翻译法(硬件辅助虚拟化)
- 说明
通过外部硬件模块来实现指令集翻译,然后调用外设,提升运算兴性能。
- 缺点