虚拟机(Virtual Machine,VM)是一种计算机程序或系统,它通过软件模拟物理计算机的硬件运行环境,使得多个操作系统能够在同一台物理机器上同时运行。虚拟机通过虚拟化技术将物理资源(如CPU、内存、存储、网络等)抽象成逻辑资源,为每个虚拟机提供独立的计算环境,因此虚拟机彼此之间相互隔离,并能够运行不同的操作系统和应用程序。[1][4]通俗来说,虚拟机本质上是一个计算机系统,它能在一个完全隔离的环境下,利用软件模拟硬件系统的所有功能。在保证虚拟机可以隔离运行的同时,还可以做到虚拟机与物理主机之间的资源同步。[2]
1961年,麻省理工在IBM 7094型机器上实现了首个分时[a]系统CTSS,之后,system/360机也支持了分时系统。[6]1972年,IBM正式将system/370机的分时系统命名为虚拟机。[7]1996年,Java虚拟机随着JDK1.0的发布推出,随后又出现了例如HotSpot VM,OpenJ9等不同的JVM实现方式。[8][9] 虚拟机的实现方式可能会依赖特殊的软件和硬件。从广义上来说,虚拟机按照提供的功能可以分为两大类:系统虚拟机和进程虚拟机。系统虚拟机(如VMware、VirtualBox)能够运行完整的操作系统,而进程虚拟机(如 Java 虚拟机)用 于运行特定的应用程序。[4][10]虚拟机具备分区、封装等优点,同时又存在着性能不稳定等缺陷。[1][11]
概述
虚拟机的定义