Una máquina virtual es un programa que permite instalar un sistema operativo distinto al del computador anfitrión dentro de una simulación, lo que permite probar sistemas operativos sin necesidad de instalarlos realmente. Una máquina virtual crea un entorno virtual entre el sistema operativo y el hardware para ejecutar aplicaciones de forma aislada. Existen máquinas virtuales de software que se sitúan por encima del sistema operativo para aislar aplicaciones y traducir llamadas al sistema al entorno de ejecución.