Una máquina virtual es un software que simula una computadora y permite ejecutar programas como si fuera hardware real. Las máquinas virtuales limitan los recursos y abstracciones que los procesos pueden usar y no pueden escapar de la "computadora virtual". Un uso común es ejecutar sistemas operativos de prueba sin instalarlos ni afectar el sistema principal. Existen máquinas virtuales de sistema y de proceso.