QEMU è un software open source di vir­tua­liz­za­zio­ne che permette di emulare e vir­tua­liz­za­re diversi sistemi operativi e ap­pli­ca­zio­ni su una vasta gamma di piat­ta­for­me hardware.

Cos’è QEMU?

QEMU, ab­bre­via­zio­ne di “Quick Emulator”, è un software di vir­tua­liz­za­zio­ne che consente di emulare diversi tipi di hardware. Essendo un software open source, è li­be­ra­men­te ac­ces­si­bi­le e sup­por­ta­to da una vasta community di svi­lup­pa­to­ri a livello globale. Il software può emulare mol­te­pli­ci ar­chi­tet­tu­re hardware tra cui x86, ARM, PowerPC e molte altre. Questa fles­si­bi­li­tà lo rende uno strumento ideale per pro­gram­ma­to­ri, tester e am­mi­ni­stra­to­ri di sistema che ne­ces­si­ta­no di testare ed eseguire sistemi operativi o software su con­fi­gu­ra­zio­ni hardware dif­fe­ren­ti.

Requisiti per usare QEMU

Per uti­liz­za­re QEMU in modo efficace è ne­ces­sa­rio che il tuo PC soddisfi alcuni requisiti fon­da­men­ta­li:

  • Hardware: QEMU funziona su gran parte dell’hardware moderno, ma le pre­sta­zio­ni dipendono dalle risorse di­spo­ni­bi­li. Per emulare sistemi operativi e ap­pli­ca­zio­ni complesse, è im­por­tan­te disporre di un pro­ces­so­re potente e di una quantità adeguata di RAM. Ad esempio, per emulare un sistema operativo x86 senza ral­len­ta­men­ti servono so­li­ta­men­te 4 GB di RAM, mentre per emulare un server ARM sono ne­ces­sa­rie risorse superiori.
  • Sistema operativo: QEMU è mul­ti­piat­ta­for­ma e com­pa­ti­bi­le con diversi sistemi operativi come Linux, Windows e macOS. Tuttavia, l’in­stal­la­zio­ne e l’utilizzo del software variano a seconda del sistema. Per un’espe­rien­za più fluida su Linux è con­si­glia­bi­le usare una di­stri­bu­zio­ne Linux che includa già QEMU tra i pacchetti di­spo­ni­bi­li.
  • Software: a seconda del sistema operativo e delle esigenze spe­ci­fi­che, potrebbe essere utile in­stal­la­re pacchetti o librerie software ag­giun­ti­vi. Ad esempio, su Linux si può optare per libvirt per gestire le macchine virtuali o per virt-manager, se si pre­fe­ri­sce un’in­ter­fac­cia grafica intuitiva.
N.B.

Per ot­ti­miz­za­re le pre­sta­zio­ni sui sistemi Linux, QEMU può essere combinato con KVM, un modulo del kernel che facilita la sud­di­vi­sio­ne e la gestione delle risorse del sistema host.

Come funziona QEMU?

QEMU funziona sia come emulatore che come vir­tua­liz­za­to­re. In modalità emu­la­zio­ne consente di eseguire software pro­get­ta­ti per una de­ter­mi­na­ta piat­ta­for­ma hardware su un hardware diverso. L’ese­cu­zio­ne è possibile grazie a un’emu­la­zio­ne dell’hardware tramite software. In questo modo, QEMU può emulare un pro­ces­so­re ARM su un computer x86, per­met­ten­do di eseguire senza dif­fi­col­tà sistemi operativi e ap­pli­ca­zio­ni pro­get­ta­ti per ARM su hardware x86.

Come vir­tua­liz­za­to­re, QEMU sfrutta l’hardware di­spo­ni­bi­le per creare uno strato di vir­tua­liz­za­zio­ne. Se QEMU viene uti­liz­za­to come hy­per­vi­sor assieme a KVM può accedere di­ret­ta­men­te alle esten­sio­ni della CPU, per­met­ten­do alle macchine virtuali di fun­zio­na­re quasi a livello nativo, con un mi­glio­ra­men­to netto delle pre­sta­zio­ni. Questo approccio, noto anche come pa­ra­vir­tua­liz­za­zio­ne, aiuta a mas­si­miz­za­re le pre­sta­zio­ni della macchina virtuale, con­sen­ten­do un accesso diretto all’hardware fisico.

Prin­ci­pa­li ambiti d’uso di QEMU

QEMU trova ap­pli­ca­zio­ne in numerosi contesti, tra cui:

  • Sviluppo e test di software: QEMU permette di testare software su diverse ar­chi­tet­tu­re hardware senza necessità di di­spo­si­ti­vi fisici. È par­ti­co­lar­men­te utile nello sviluppo mul­ti­piat­ta­for­ma poiché supporta numerose ar­chi­tet­tu­re.
  • Vir­tua­liz­za­zio­ne di server e desktop: QEMU viene uti­liz­za­to fre­quen­te­men­te negli ambienti server per gestire diverse macchine virtuali, ciascuna con compiti specifici.
  • Ricerca e istru­zio­ne: QEMU offre a studenti e ri­cer­ca­to­ri l’op­por­tu­ni­tà di spe­ri­men­ta­re con vari sistemi operativi e con­fi­gu­ra­zio­ni hardware, senza la necessità di ac­qui­sta­re costosi di­spo­si­ti­vi fisici.
  • Emu­la­zio­ne di sistemi obsoleti: QEMU può emulare sistemi operativi e software non più sup­por­ta­ti, ri­sul­tan­do utile per mantenere e operare sistemi legacy.

Vantaggi di QEMU

  • Fles­si­bi­li­tà e varietà: QEMU supporta una vasta gamma di ar­chi­tet­tu­re hardware e può essere uti­liz­za­to sia per la vir­tua­liz­za­zio­ne sia per l’emu­la­zio­ne, ri­ve­lan­do­si uno strumento estre­ma­men­te versatile in vari ambiti.
  • Gratuito e open source: essendo open source, QEMU è gratuito e non comporta costi di licenza. La sua ampia community assicura mi­glio­ra­men­ti costanti e ag­gior­na­men­ti di sicurezza.
  • Supporto mul­ti­piat­ta­for­ma: QEMU è com­pa­ti­bi­le con diversi sistemi operativi, offrendo fles­si­bi­li­tà a utenti che lavorano su piat­ta­for­me dif­fe­ren­ti.
  • Com­bi­na­bi­li­tà con KVM: associato a KVM, QEMU può rag­giun­ge­re pre­sta­zio­ni quasi native, ri­sul­tan­do una scelta in­te­res­san­te per la vir­tua­liz­za­zio­ne di server e desktop.

Svantaggi di QEMU

  • Pre­sta­zio­ni in emu­la­zio­ne completa: QEMU può risultare più lento rispetto ad altre soluzioni in modalità di emu­la­zio­ne completa, poiché deve simulare in­te­ra­men­te l’hardware nel software, con un con­se­guen­te utilizzo intensivo delle risorse e una velocità ridotta.
  • Com­ples­si­tà: l’in­stal­la­zio­ne e la con­fi­gu­ra­zio­ne di QEMU possono essere complesse, so­prat­tut­to quando ri­chie­do­no com­po­nen­ti ag­giun­ti­vi come KVM, libvirt o con­fi­gu­ra­zio­ni di rete avanzate.
  • Usabilità limitata: a dif­fe­ren­za di altre soluzioni di vir­tua­liz­za­zio­ne QEMU non offre una vera in­ter­fac­cia grafica nativa e intuitiva.
  • Supporto limitato per l’ac­ce­le­ra­zio­ne 3D: sebbene QEMU possa emulare ope­ra­zio­ni grafiche, il supporto per l’ac­ce­le­ra­zio­ne 3D è limitato, ren­den­do­lo meno adatto per ap­pli­ca­zio­ni ad alta intensità grafica.
Vai al menu prin­ci­pa­le