A virtual machine (VM) is a software program or operating system that not only exhibits the behavior of a separate computer, but is also capable of performing tasks such as running applications and programs like a separate computer. A virtual machine, usually known as a guest is created within another computing environment referred as a "host." Multiple virtual machines can exist within a single host at one time.
Virtual machine is a self-contained operating environment that behaves as if it is a separate computer, with no access to the host operating system. When an application runs in a virtual machine, there is little chance that it will damage files or applications in the host system.
Some of the advantages of a virtual machine include:
Allows multiple operating system environments on a single physical computer without any intervention
Virtual machines are widely available and are easy to manage and maintain.
Offers application provisioning and disaster recovery options
Some of the drawbacks of virtual machines include:
They are not as efficient as a physical computer because the hardware resources are distributed in an indirect way.
Multiple VMs running on a single physical machine can deliver unstable performance