A virtual machine is a computer application which presents simulated hardware to an operating system running as a process on a host system. Virtual machines are useful for testing or deploying multiple independent operating systems on a single physical machine. As different types of operating systems can be run at the same time, including legacy and bleeding-edge systems, compatibility issues can be easily investigated and data migration can be performed in a simple copy operation. Operating systems running in virtual machines are also very simple to back up and restore to any given state. Malware that affects a guest OS running in a VM cannot affect the host system, and a process that crashes a guest OS will not crash the host. Additionally, an operating system stored as a virtual machine can be copied and run on completely different hardware within seconds, reducing system downtime in critical applications where hardware failure could be catastrophic. Although it is common to run the same type of operating system in a virtual machine as that of the host machine, often VMs are used to test or deploy different types of systems in parallel.
The most commonly used cross-platform virtual machine in use today in VMWare's family of products. The free VMWare Player and VMWare Server allow the end user to install and run virtual machines on Windows and Linux platforms, with precompiled binaries available for RPM-based Linux distributions. The VMWare Player, as it's name implies, will run prebuilt virtual machines but cannot create a new machine. It's small size is ideal for those who want to experiment with any of the available Virtual Appliances available, or run a virtual machine that had been sent to them. The VMWare Server can create new virtual machines, and can modify existing machines by installing specialized drivers, called Tools. All VMWare products can run virtual machines created on other VMWare products or on popular competing products such as those offered by Microsoft and Symantec.
Another popular virtual machine is the Virtual PC/ Virtual Server duo from Microsoft. The systems are very similar, with Virtual PC aimed at home users running virtual machines on one physical computer, and Virtual Server designed for system administrators who run many virtual machines on remotely operated computers. Microsoft's virtualization products run on Windows and Macintosh computers, however there is no Linux or Unix port of the software. As with VMWare's Tools, Microsoft Virtual PC and Virtual Server have their own specialized drivers for guest operating systems, called Additions. A unique feature of virtual machines running the Additions drivers is mouse and clipboard integration with the host operating system, a feature that is not available in the free VMWare products.
Software Technology Terminology Questions