虚拟机(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]
概述
虚拟机的定义