Una macchina virtuale (VM) è un sistema operativo guest in esecuzione in un ambiente completamente isolato all'interno di un normale sistema operativo host. Le macchine virtuali moderne sono implementate con emulazione software o virtualizzazione hardware o (nella maggior parte dei casi) entrambe insieme.