A virtual machine (VM) is a computing environment that runs on software-defined components instead of dedicated hardware. A single physical device (called the "host" machine) can host multiple VMs (called "guest" machines), each functioning independently and with a separate OS. The host machine relies on a hypervisor to separate the resources from the hardware and provision them among all installed VMs.