Las máquinas virtuales emulan un ordenador completo y permiten ejecutar programas como si fuesen hardware real. Existen máquinas virtuales de sistema que permiten ejecutar múltiples sistemas operativos en una misma máquina física y máquinas virtuales de proceso que ejecutan una aplicación como un proceso normal. Un inconveniente es que agregan complejidad al sistema ralentizando la ejecución de los programas.