Una máquina virtual es un software que simula una computadora real y permite ejecutar programas como si se estuviera usando un hardware físico. Las máquinas virtuales proveen aislamiento entre procesos y sistemas operativos, son portables al encapsular recursos, y son independientes del hardware subyacente. Algunas ventajas incluyen compatibilidad, aislamiento, encapsulamiento e independencia del hardware, mientras que las desventajas son un menor rendimiento y desaprovechamiento de recursos en comparación con hardware físico.