Embedded_49 - page 27

27
SPEC I ALE
Emulazione
dei sistemi operativi
QEMU (Quick EMUlator) è una piattaforma di
emulazione open source definita dai suoi creatori
una Virtualization Machine perché consente, in
pratica, di realizzare un sistema operativo a sé
stante all’interno di un altro sistema operativo, il
quale pur ospitandolo non interferisce con esso, né
può subirne alcuna interferenza.
Si tratta, in effetti, di un potente quanto sofistica-
to software basato sulla tecnica della traduzione
dinamica delle istruzioni che permette di ricavare
delle istruzioni come emulazione di altre ma ne
consente il funzionamento autonomo e indipen-
dente.
In pratica ci sono due tool di emulazione detti User-
mode Emulation e Computer-mode Emulation per-
ché il primo si occupa dell’emulazione vera e pro-
pria ossia della traduzione delle istruzioni e della
loro composizione in un nuovo algoritmo mentre il
secondo serve a emulare le funzioni e i comandi del
sistema operativo residente (come moduli audio,
connessioni di rete e interfacce seriali) fino a sosti-
tuirsi a esso in modo tale che l’algoritmo scritto
dal primo tool possa appoggiarvisi senza andare
a interferire in alcun modo col sistema operativo
sottostante. Si ottiene così che l’architettura resi-
dente praticamente non si accorge nemmeno della
presenza di un nuovo sistema operativo e grazie a
ciò si possono far girare a questo livello gli algorit-
mi e i sottoprogrammi per testarne la correttezza e
l’efficacia funzionale senza rischiare di fare danni
ma disponendo di un ambiente assolutamente con-
forme a quello residente.
Attualmente supporta i sistemi operativi Linux,
Windows e Unix e le architetture x86, Mips, Sparc,
ARM, SH4, PowerPC e microBlaze con istruzio-
ni fino a 64 bit, ma il sofisticato meccanismo di
virtualizzazione KVM (Kernel Virtual Machine)
consente di eseguire test incrociati fra programmi
o sottoprogrammi emulati da architetture differenti
e persino confrontare più algoritmi in parallelo
per valutare l’efficacia delle istruzioni di ognuno
e quindi l’efficienza della fase di emulazione su
ciascuna architettura.
È inoltre possibile tracciare l’esecuzione dei pro-
grammi salvando in qualsiasi momento lo stato
completo del sistema in esecuzione e del sistema
ospitante in modo tale da poter analizzare succes-
sivamente il lavoro svolto.
1...,17,18,19,20,21,22,23,24,25,26 28,29,30,31,32,33,34,35,36,37,...52
Powered by FlippingBook