A virtual machine is a program on a computer that works like it is a separate computer inside the main computer. The program that controls virtual machines is called a hypervisor and the computer that is running the virtual machine is called the host. The hypervisor controls how the virtual machine can access memory, hard drive space, and other resources on the host computer. Virtual machines can be created through software known as virtualization software (such as VMware Workstation and VirtualBox).
There are many reasons to run a virtual machine:
- It is a simple way to run more than one operating system on the same computer.
- A very powerful server can be split into several smaller virtual machines to use its resources better.
- It can help with security. If the virtual machine is affected by a virus, the host operating system is unaffected.
- A virtual machine can be completely emulated, such as Java. This lets a program run on different types of computer without having to be converted into a code specific for it. They can communicate even though the programming languages are not the same.
- Grid computing: many computers work together to work like a "virtual supercomputer"