Una máquina virtual es un software que simula un ordenador y puede ejecutar programas como si fuese un ordenador real. Este software fue definido como "un duplicado eficiente y aislado de una máquina física". Actualmente esta definición incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real.
Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual".
Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema operativo habitual (Windows por ejemplo) sin necesidad de instalarlo directamente en nuestra máquina y sin miedo a que se desconfigure el sistema operativo primario.