There are two main types of virtual machines. One, which is called a system virtual machine, is used to mimic all the processes and components of an actual computer. The other, which is known as a process virtual machine, is used to run only a single application and disappears when that application is closed.
System virtual machines allow a person to use a single server as if it were many different computers. By using this type of technology, one machine can be reconfigured in a number of different ways. Each of these reconfigurations is completely isolated from the other systems and can act as an independent computer, even though each of them exists on the same physical machine. This isolation means that if one system crashes, the other virtual machines can still be used.
Using system machines also allows a user to run multiple operating systems on the same machine. This allows a user to run programs that are only available on one type of operating system. It also makes it possible to test a program across multiple platforms without switching machines.
Depending on the user's needs, system machines can be configured to perform as if they have a variety of different types of hardware. Within each machine there is a virtual motherboard, a virtual processor, a virtual video graphics accelerator card, and all the other components found inside a physical computer. The virtual computer can even be configured to utilize hardware on the physical system as if it were made to different specifications. There are as many different configurations of system virtual machines as there are configurations of physical computer servers.
Process virtual machines are used to run a single program in isolation from the physical computer’s operating system. This allows a user to run a program that might otherwise be incompatible with the normal operating system. Each process machine is created to run a specific program and exists only while the program is running. Closing the program it is running will make a process machine disappear, and opening that program again will create a new virtual machine.