CPU虚拟化
由上==问题:金典/传统cpu虚拟化和cpu虚拟化因架构不同:导致有16条指令无法交给虚拟化层去处理?
解决方法:
全虚:将所有指令都收集。
优势:不需要修改 Guest os(虚拟机操作系统)
劣势:虚拟化层的开销大
半虚:将16条指令直接交给vmm
优势:虚拟化层的开销小
劣势:修改操作系统
硬虚:硬件辅助虚拟化、cpu支持虚拟化、硬件本身支持
优势:性能好
劣势:cpu支持虚拟化
内存虚拟化
映射关系
问题
内存必须从1开始
空间连续
内存的映射
I/O设备的虚拟化
I/O实现
I/O 设备:Input/output (输入、输出设备) 、磁盘、网卡、鼠标、键盘。
全虚
优势:虚拟化层开销大
劣势:虚拟机是无感知的
半虚
优势:性能好
劣势:虚拟机有感知的
I/O透传
直接将I/O交给I/O设备处理
性能好
模拟(完全虚拟):完全使用软件来模拟真实硬件,模拟通常硬件,例如键盘鼠标,通过焦点捕获,焦点被哪个主机捕获就被哪个主机使用,性能很差。全虚
半虚拟化:对硬件驱动由前端(IO frontend)直接转到后端(IO backend)调用,通常仅适用于硬盘和网卡,性能高。半虚
IO-through:IO透传,直接分配给虚拟机物理设备,例如直接分配一个硬盘或网卡给虚拟机,需要硬件具备IO透传技术,在Xen下由Dom0分配,但是访问使用直接使用,不经过Dom0,需要硬件支持。 I/O透传