Macchina virtuale
Una macchina virtuale (VM) è un programma che emula un sistema informatico. Ha una CPU virtuale, memoria e storage e, dall'esterno, non sembra essere diverso da una macchina fisica con lo stesso hardware.
Come funziona una macchina virtuale?
Una macchina virtuale ha un sistema operativo, file e applicazioni. Funziona proprio come un computer fisico; può ospitare siti Web, eseguire programmi ed esistere in rete con altri sistemi. Se visualizzata su uno schermo, la macchina virtuale appare come una finestra in esecuzione all'interno del sistema operativo del computer.
Ha anche una CPU, memoria e spazio di archiviazione, ma questi sono simulati, non fisici. Per questo motivo, più macchine virtuali possono coesistere su un server. Quando ciò accade, il server utilizza un software chiamato hypervisor per gestirli. L'hypervisor associa l'hardware virtuale della macchina virtuale ai componenti fisici sul server.
In questo scenario, un server fisico potrebbe avere due, tre, quattro o anche dieci macchine virtuali in esecuzione su di esso. Tuttavia, il numero è limitato dalle risorse del server: troppe macchine virtuali porteranno a prestazioni ridotte.
Perché vengono utilizzate le macchine virtuali?
Le macchine virtuali sono sandbox, porzioni di spazio virtuale in cui il codice può essere eseguito separatamente dal resto del sistema. Ciò rende le macchine virtuali ideali per testare nuovo software o eseguire codice che potrebbe essere dannoso.
La macchina virtuale può eseguire un sistema operativo diverso o precedente per consentire a un utente di eseguire software che non funzionerà sul sistema operativo del computer. Ad esempio, qualcuno potrebbe utilizzare una macchina virtuale per eseguire una parte del software Windows su un dispositivo Linux. Per raggiungere questo obiettivo, eseguirebbero una macchina virtuale che esegue un sistema operativo Windows sul proprio sistema Linux.
Esempio chiave: la macchina virtuale di Ethereum (EVM)
I nodi della rete Ethereum eseguono tutti la Ethereum Virtual Machine (EVM), che viene utilizzata per eseguire contratti intelligenti. Poiché ciò accade in una sandbox separata, offre notevoli vantaggi in termini di sicurezza per la piattaforma Ethereum, rendendola immune dagli attacchi DDoS (Distributed Denial of Service che sono una strategia di riferimento per molti hacker.