A virtual machine, or VM for short, has a number of characteristics that can be advantageous for a wide range of applications. But what exactly is a VM and why is it very useful to use one in certain situations?
What is a virtual machine?
A virtual machine is a computer inside a computer. The following components are required to run a VM:
- Host system (the “real” computer)
- Virtualizable processor (and the corresponding BIOS setting)
- Virtualization software (e.g. VirtualBox or VMWare)
- Guest system (the VM itself)
Here, the virtualization software, also called hypervisor, ensures that the existing hardware resources of the host system are distributed to the guest systems. You can determine how much RAM, hard disk space and also how many processor cores are to be made available to each virtual machine.
Why do you need a VM?
The biggest advantage of a virtual machine is that you can run multiple systems in parallel on a single physical computer. These systems are either completely isolated or can communicate with each other and with the Internet via a virtual network. This ensures that the available hardware can usually be used much more efficiently. The uses of VMs and virtual networks can be diverse:
- Testing software on different operating systems
- Using software that only runs on certain, e.g. obsolete, operating systems
- Testing and researching security vulnerabilities
For example, it is possible to build an entire network of virtual machines to test web applications before they are deployed to the open Internet. It is also useful to examine suspicious email attachments or downloads in an isolated VM. Web hosters use virtualization so that not every customer has to rent their own physical computer, but always only the required portion.
Last but not least, for anyone considering switching to a new operating system, using a virtual machine is a good way to test possible candidates. In doing so, the running system remains untouched, except for the installation of the hypervisor.
This post is also available in: Deutsch (German)