Una máquina virtual es un software que emula un ordenador completo y permite ejecutar programas como si se estuviese utilizando un ordenador físico. Existen dos tipos principales de máquinas virtuales: las máquinas virtuales de sistema, que permiten multiplexar una máquina física entre varias máquinas virtuales con sus propios sistemas operativos, y las máquinas virtuales de proceso, que se ejecutan como procesos normales dentro de un sistema operativo para soportar un solo proceso.