Qemu (abbreviazione di Quick EMUlator) è un software che implementa un particolare sistema di emulazione che permette di ottenere un'architettura informatica nuova e disgiunta in un'altra che si occuperà di ospitarla. È stato ideato da Fabrice Bellard, che ne coordina lo sviluppo.
Storia
Inizialmente, era un progetto che si prefiggeva di emulare solo il microprocessore x86 su un sistema GNU/Linux. L'intento iniziale era di eseguire Wine anche sulle macchine con architetture diverse dall'x86 (ad esempio i PowerPC, l'architettura dei Macintosh). Lo scopo fu raggiunto e si constatò che la tecnica della traduzione dinamica era più che valida; si iniziò, quindi, a cercare di creare un intero sistema di virtualizzazione per ottenere una macchina virtuale equiparabile ad un sistema x86 completo. Il risultato ottenuto fu più che positivo.
Al momento è in grado di emulare sistemi x86, AMD64, PowerPC, MIPS e ARM. Bellard ideò anche un modulo per i kernel Linux (KQemu) capace di aumentare notevolmente le prestazioni della macchina simulata; il codice è disponibile, ma i termini di distribuzione erano quelli di un programma closed source.
Dal 6 febbraio 2007, con la release 1.3.0pre11, anche questo modulo è rilasciato con licenza GPL.
Caratteristiche
Questo software è conosciuto grazie alla sua velocità di emulazione ottenuta grazie alla tecnica della traduzione dinamica.
È simile a Bochs, VMware Workstation, Virtual PC ma più veloce nell'emulazione delle architetture x86.
Qemu è formato da due parti: la prima si occupa dell'emulazione vera e propria (convertire, ad esempio, le istruzioni da 32 bit a 64 bit) permettendo quindi di eseguire programmi compilati su architetture diverse; la seconda parte è l'emulatore di sistema: utilizzando la prima parte, è capace di creare un nuovo sistema completamente separato da quello ospitante (i file, quindi, sono separati).
Tra le caratteristiche principali possiamo annoverare:
Emulazione PC IA-32 (x86), AMD64, MIPS R4000, Sun SPARC sun4m e sun4u, schede di sviluppo ARM, schede SH4 SHIX e architetture PowerPC (PReP - Power Macintosh)
- Tecnologia copy-on-write: puoi assegnare un drive virtuale grande svariati gigabytes, l'immagine sul disco sarà grande solamente lo spazio necessario
- Gestione degli stati. Si può salvare lo stato del sistema ospite e scrivere i cambiamenti su un file a parte e successivamente ritornare a quello stato
- Possibilità di eseguire binari Linux per altre architetture
- Emulazione di scheda di rete virtuale
- Supporto SMP
- Usando il software libero kqemu l'emulazione sarà più veloce, ma ancora non allo stesso livello di VMWare
- Gli strumenti della riga di comando permettono di controllare completamente l'emulazione
- Controllo remoto tramite il server VNC integrato
- Supporto all'emulazione via kernel KVM in Linux
- Supporto USB, ma non per i dispositivi streaming come le videocamere
Tuttavia attualmente non è in grado di offrire:
- Nessun supporto per le applicazioni multimediali: viene emulata una scheda grafica Cirrus Logic
- Supporto per le videocamere USB e altri dispositivi di streaming
Esempi di utilizzo
Per creare un disco virtuale di 500MB in Qemu utilizzando qcow:
qemu-img create -f qcow c.img 500M
l'opzione -f del comando serve a specificare il tipo di formato del disco virtuale. Sono supportati i tipi raw, qcow2, qcow, cow, vmdk e cloop.
Il comando sottostante si occuperà di far partire l'emulazione di una macchina con 128MB di Ram utilizzando il disco c.img creato con il precedente comando e farà il boot dall'immagine del CD salvata nel file linux.iso. La macchina emulata avrà il supporto audio e l'ora sarà sincronizzata con quella del pc host.
qemu -hda c.img -cdrom linux.iso -boot d -m 128 -soundhw sb16 -localtime
Per utilizzare una macchina virtuale con 64Mb di Ram avente come CDRom quello del sistema ospitante, si dovrà digitare
qemu -hda c.img -cdrom /dev/cdrom -boot c -m 64 -full-screen
Quando la macchina virtuale è avviata, con la combinazione Control-Alt-2 si accederà alla console di controllo di Qemu per effettuare alcune operazioni semplici (caricare un nuovo discoimmagine, riavviarlo, sospenderlo o uscire dal programma). Con la combinazione Control-Alt-1, invece, si ritornerà alla macchina emulata.
Voci correlate
Altri progetti
Collegamenti esterni
- (EN) Sito ufficiale, su qemu.org.
- QEMU, su packages.debian.org.
- (EN) QEMU, su GitHub.
- Repository sorgenti di QEMU, su gitlab.com.
- Sito di segnalazione bug, su bugs.launchpad.net.
- (EN) QEMU, su Free Software Directory.
- (EN) FreeOsZoo per scaricare le immagini dei dischi [non più disponibile]
- Virtual Machine: virtualizzazione e QEMU, su valent-blog.eu.
- (EN) QEMU Wiki, su qemu.kidsquid.com. URL consultato il 22 dicembre 2022 (archiviato dall'url originale il 25 agosto 2011).
- (EN) QEMUMenu Archiviato il 21 luglio 2006 in Internet Archive. e Qemu Manager due software per la gestione di Qemu
- (EN) QEMU per Windows.
- (EN) Q - QEMU per Mac OS X. Vedere anche: this mirror
- (EN) QVM86, su savannah.nongnu.org.
- (EN) Qemu mailing list.
- (EN) FAQ non ufficiale, su am.xs4all.nl. URL consultato il 26 settembre 2006 (archiviato dall'url originale il 7 luglio 2005).
- (EN) altro sito su Qemu.
- (EN) QEMU RPM Packages per Fedora Core 4 e 5, su fedoranews.org.
- (EN) QEMU mentre esegue Live Linux come screensaver per Microsoft Windows, su linuxtracker.org. URL consultato il 26 settembre 2006 (archiviato dall'url originale il 13 ottobre 2006).
- (EN) QEMU, guida all'installazione (per Ubuntu), su wiki.ubuntu.com.
- (EN) Ubuntu sotto Windows XP, su homepage.sunrise.ch. URL consultato il 26 settembre 2006 (archiviato dall'url originale il 22 marzo 2007).
- (EN) QEMU per utenti Windows 98/ME, su msfn.org.
- (EN) QEMU lista ufficiale dei sistemi emulati, su claunia.com.
- (EN) script d'installazione, su ubuntuforums.org (archiviato dall'url originale il 4 marzo 2016).