A virtual machine (VM) consists an operating system plus one or more apps running in an isolated partition within the computer. Depending on the size of the hardware, any number of VMs can continue running. The more cores the CPU has, the more simultaneity (see multicore).
Moreover, dating back to the 1960s, virtual machines (VMs) remain widely used to run multiple instances of the same OS, each running a different set of applications. The separate instances prevent apps from interfering with one another after a crash, especially when testing new software. Virtual machines remain widely used to run different operating systems in the same machine.
The Heart of Cloud Computing
Uniquely, without virtual machines, cloud computing would never have taken off. When cloud computing exists, it remains a virtual machine in a server that the customer actually rents most of the time. Depending on server size and workloads, virtual machines allow dozens of customers to run on a single server. See cloud computing.
Not Dual Boot or Multiboot
As a matter of fact, VMs cannot run in a dual-boot or multiboot environment. In this scenario, at startup the user first selects which OS to use (see dual-boot). See thin client, virtual machine monitor, virtualization, application virtualization and OS virtualization.
The major reasons why virtualization is so widely used:
#1 – Migration and Cloning
Firstly, VMs remain self-contained packages that are decoupled from the hardware. With virtual machines, it remains easy to move a VM instance from one server to another. One does this to balance the workload, migrate to faster hardware and recover from hardware failure.
#2 – Consolidation
Secondly, different operating systems can run in the same server. A virtual machine allows you to run multiple operating systems on a single machine. Developers can test components without adding hardware. Developers can test their programs in different OS environments on the same machine. In the datacenter, multicore servers with many threads of execution save space and power.
#3 – Stability and Security
Lastly, troubleshooting can be overwhelming when conflicts arise in supposedly stable apps. Prior to virtualization, cautious system administrators hosted each type of application in a separate server. This is done even if the hardware was grossly underutilized. However, because VMs stay isolated, a security breach in one does not affect the others.