Las máquinas virtuales permiten ejecutar sistemas operativos de forma simulada dentro de otro sistema operativo anfitrión. Simulan tener componentes de hardware como BIOS, memoria, discos duros y redes de forma virtual. Esto permite ejecutar múltiples sistemas operativos en un solo equipo físico e incluso sistemas operativos diferentes al anfitrión. Las máquinas virtuales se pueden conectar entre sí o a redes físicas de diferentes formas.