Virtualización
Una máquina virtual suele emular un entorno de ejecución: es decir, emula el interfaz de este entorno. (Al contrario que la emulación, la simulación reflejará a todos los estados internos del entorno al mismo tiempo). Java, es un ejemplo de virtualización con Java Virtual Machine (JVM): se trata de una emulación basada en especificaciones estrictas. Los estados internos no son de interés para el usuario. El JVM trabaja como un procesador virtual dentro de un entorno virtual de ejecución. También es posible este tipo de emulación para un sistema completo de computación. La tarea no suele desempeñarse por el hardware: requiere un componente de software especial, una especie de sistema operativo rudimentario conocido como Virtual Machine Monitor (VMM) o hipervisor