A virtual machine (VM) is a software-based emulation of a computer. Virtual machines operate based on the computer architecture and functions of a real or hypothetical computer. Definitions[edit] A virtual machine (VM) is a software implementation of a machine (e.g., a computer) that executes programs like a physical machine. Virtual machines are separated into two major classifications, based on their use and degree of correspondence to any real machine: A VM was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a real machine". System virtual machines[edit] System virtual machine advantages: multiple OS environments can co-exist on the same computer, in strong isolation from each otherthe virtual machine can provide an instruction set architecture (ISA) that is somewhat different from that of the real machineapplication provisioning, maintenance, high availability and disaster recovery[3] The main disadvantages of VMs are: Process virtual machines[edit]