#概念
虚拟机是一台逻辑计算机,是指利用特殊的虚拟化技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境。有两类虚拟化方法。
1. 第一类虚拟机管理程序(裸金属架构)
第一类虚拟机的#特点:
- 它在裸机上运行并且具备多道程序功能。
- 虚拟机管理程序向上层提供若干台虚拟机,这些虚拟机是裸机硬件的精确复制品。
- 由于每台虚拟机都与裸机相同,所以在不同的虚拟机上可以运行任何不同的操作系统。
- 虚拟机作为用户一个进程运行,不允许执行敏感指令。
- 虚拟机上的操作系统认为自己运行在内核态(实际上不是),称为虚拟内核态。虚拟机中的用户进程认为自己运行在用户态(实际上确实是)。
处理敏感指令的过程:
- 执行内核态才能执行的命令时,陷入虚拟机管理程序。
- 在支持虚拟化的CPU上,虚拟机管理程序检查这条指令是由谁执行
- 系统执行的,虚拟机管理程序安排正常执行
- 用户执行的,虚拟机管理程序模拟真实硬件面对用户执行敏感指令的行为。 - 在过去不支持虚拟化的CPU上,真实硬件不会直接执行虚拟机中的敏感指令,这些敏感指令被转为对虚拟机管理程序的调用,由虚拟机管理程序模拟这些指令的功能。
#第二类虚拟机
2. 第二类虚拟机管理程序(寄居架构)
第二类虚拟机管理程序。它是一个依赖于Windows, Linux等操作系统分配和调度资源的程序,很像一个普通的进程。第二类虚拟机管理程序仍然伪装成具有CPU和各种设备的完整计算机。
VMware Workstation 是首个X86平台上的第二类虚拟机管理程序。
运行在两类虚拟机管理程序上的操作系统都称为客户操作系统。对于第二类虚拟机管理程序,运行在底层硬件上的操作系统称为宿主操作系统。