虚拟化概述
- 虚拟化的例子
- 进程 –> 一个操作系统,运行多个应用程序
- 模拟器 –> 一个指令集的CPU,运行多个指令集的应用程序
- 比如QEMU、Bochs模拟器
- 编程语言虚拟机 –> 虚拟指令集(字节码),实现跨平台的应用程序
- 比如Java虚拟机、Python虚拟机
- 系统虚拟化 –> 对整个计算机系统进行虚拟化
- 比如VMware Workstation、VirtualBox、HyperV、Xen
- 系统虚拟化的实现
- 硬件虚拟化
- 比如Intel VT-x、AMD-V
- CPU提供虚拟化指令集
- Linux内核的KVM
- 作为虚拟机监控器(Virtual Machine Monitor,VMM)
- KVM提供用户态创建虚拟机的接口
- 用户态的应用程序
- 比如QEMU
- 模拟计算机系统中的更多设备等
- 硬件虚拟化