Una máquina virtual es un software que simula una computadora y permite ejecutar programas como si fuera una computadora real. Existen máquinas virtuales de software que se ejecutan como procesos dentro de un sistema operativo y máquinas virtuales de hardware que permiten multiplicar la máquina física entre varias máquinas virtuales, cada una ejecutando su propio sistema operativo. Las máquinas virtuales ofrecen compatibilidad e independencia del hardware físico subyacente.