虚拟化的出发点
- 只要计算机上同时运行着多个任务,就会有任务隔离的需求,虚拟化就是让每个任务看起来独占整个计算机、隔离任务之间影响的技术。
虚拟化技术的发展阶段,大概经历了一下几个过程:
硬件虚拟化
硬件定制
模拟执行
隔离性最高但性能最差
动态二进制翻译
QEMU(Quick EMUlator)是目前最流行的采用动态二进制翻译技术的虚拟化软件。
为了进一步,提高性能产生了两种方法:半虚拟化、硬件辅助虚拟化
半虚拟化(paravirtualization) 或 OS-assisted virtualization
通过手动修改VM的内核,牺牲通用性换取性能
硬件辅助虚拟化(hardware-assisted virtualization)
CPU虚拟化技术,Intel VT-x,AMD AMD-v
内存虚拟化
设备虚拟化
使用支持虚拟化的物理设备
操作系统级虚拟化 = 容器 -> 容器管家Docker
早期的chroot机制,文件系统隔离
用户命名空间
上述汇总,来源于:虚拟化技术大观