Una máquina virtual es un software que emula un ordenador completo, permitiendo ejecutar sistemas operativos de forma aislada sobre el mismo hardware físico. Existen máquinas virtuales de sistema, que virtualizan el hardware y permiten ejecutar distintos sistemas operativos, y máquinas virtuales de proceso, que aíslan la ejecución de aplicaciones independientemente de la plataforma hardware. Las máquinas virtuales utilizan técnicas como la emulación de hardware o la virtualización a nivel sistema operativo.