A Virtual Machine (VM) is essentially a second computer that runs in the memory of your computer hardware, the host computer. This computer-within-a-computer runs on top of the operating system of the host computer, and therefore can be started and stopped just like any other application on the host computer. If software on the virtual machine misbehaves, and causes the virtual machine to crash, it’s simply a matter of restarting the virtual machine, while your host computer continues to run.
Also, your VM may run a completely different operating system from the host machine. You could, for example, run a Windows or Linux virtual machine on a Macintosh. Since VMs share the hardware resources of the host computer, VMs run best on host computers that have copious amounts of RAM, disk space, and powerful CPUs.
Web developers use VMs to:
- Build and test web sites on a virtual web server on their own local development computer.
- Test a website from browsers running on different operating systems installed on different virtual machines, all on the same host computer.
- Run multiple web servers on a single physical computer.
More Information about Virtual Machines
From the Virtual machine article on Wikipedia:
There are different kinds of virtual machines, each with different functions:
Virtual Machines – Wikipedia
- System virtual machines (also termed full virtualization VMs) provide a substitute for a real machine. They provide functionality needed to execute entire operating systems. A hypervisor uses native execution to share and manage hardware, allowing for multiple environments which are isolated from one another, yet exist on the same physical machine. Modern hypervisors use hardware-assisted virtualization, virtualization-specific hardware, primarily from the host CPUs.
- Process virtual machines are designed to execute computer programs in a platform-independent environment.