In
informatica il termine
macchina virtuale (
VM) indica un
software che, attraverso un processo di
virtualizzazione, crea un ambiente virtuale che emula tipicamente il comportamento di una macchina fisica grazie all'assegnazione di risorse hardware (porzioni di
disco rigido,
RAM e risorse di
processamento) ed in cui alcune
applicazioni possono essere
eseguite come se interagissero con tale macchina; infatti se dovesse andare fuori uso il
sistema operativo che gira sulla macchina virtuale, il sistema di base non ne risentirebbe affatto. Tra i vantaggi vi è il fatto di poter offrire contemporaneamente ed efficientemente a più utenti diversi
ambienti operativi separati, ciascuno attivabile su effettiva richiesta, senza sporcare il sistema fisico reale con il
partizionamento del
disco rigido oppure fornire ambienti
clusterizzati su sistemi
server.