Las máquinas virtuales presentan una interfaz a cada proceso y separan la multiprogramación de la máquina extendida, permitiendo ejecutar múltiples sistemas operativos en una sola máquina física de manera aislada. El núcleo de una máquina virtual, llamado monitor virtual, se encarga de la multiprogramación al simular hardware para cada sistema operativo virtual. Ejemplos de máquinas virtuales son VMware y sistemas que ejecutan MS-DOS en una PC más nueva.