Una máquina virtual es un software que emula una computadora real y permite ejecutar programas como si se estuvieran ejecutando en una computadora física de manera aislada. 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 de las máquinas virtuales es probar sistemas operativos ejecutándolos de manera aislada sin instalarlos directamente en la computadora anfitrión.