# QEMU

Na informática, o QEMU é um software livre desenvolvido pelo programador francês Fabrice Bellard que implementa um emulador de processador para virtualização completa de um sistema computacional dentro de outro; é um hipervisor semelhante a projetos como o Bochs, VMware Workstation e o PearPC (mas possui várias funções extras como o acelerador e suporte para múltiplas arquiteturas). Usando tradução dinâmica, atinge uma velocidade razoável, não deixando de ser fácil de converter para novos processadores.

## Detalhes

O QEMU tem dois modos de operação:
Emulação em modo de usuário: pode lançar processos Linux ou Darwin/Mac OS X compilados para uma CPU em outra CPU. As chamadas ao SO alvo são truncadas para um endianamento e combinações 32/64bits. Wine e o Dosemu são os alvos principais para o QEMU;
Emulação em modo computador completo: emula um computador completo, incluindo um processador e vários periféricos. Ele pode ser utilizado para prover hospedeiros virtuais de vários computadores virtuais em um único computador.
A maior parte do programa está sobre a LGPL, com a emulação em modo usuário sobre o GPL.

## Acelerador

Fabrice Bellard também escreveu um modulo para o núcleo Linux (com um porte preliminar para o FreeBSD e o Windows) chamado KQEMU ou Acelerador QEMU, que notavelmente acelera a emulação i386 na plataforma i386. Isso é feito rodando código modo usuário diretamente na CPU do computador hospedeiro, e usando somente o modo núcleo para emular o processador, periféricos e o modo real. O KQEMU também suporta um modo núcleo de emulação em que uma porção do código modo núcleo roda na CPU hospedeira.
O acelerador QEMU (KQEMU) foi inicialmente distribuído como software proprietário de código fonte fechado (ainda assim, sem custo algum). Mas desde sua versão 1.3.0.pre10, que foi lançada em 05-02-2007, está disponivel sobre o GPL.

## Características

* Suporta emulação das arquiteturas IA-32 (x86) PCs, AMD64 PCs, MIPS R4000, Sun SPARC sun4m, Sun SPARC sun4u, ARM development boards (Integrator/CP and Versatile/PB), SH4 SHIX board, e PowerPC (PReP e Power Macintosh).
* Suporte para outras arquiteturas tanto como hospedeiro, quanto como sistema emulado (veja a página oficial para uma lista completa).
* Aumento de velocidade — algumas aplicações podem rodar quase em tempo real.
* Implementa formato de imagens CoW (copia quando escreve). Você pode declarar um disco virtual enorme (vários GB), mas a imagem do disco vai ser do tamanho efetivamente usado.
* Também implementa sobreposição de imagens (snapshot). Salve uma imagem do estado atual do sistema hospedado (guest) e escreva as mudanças em outro arquivo de imagem. Se precisar, pode voltar o sistema para o estado anterior, salvo, facilmente.
* Suporte para rodar binários Linux para outras arquiteturas diferente da hospedeira.
* Pode salvar e restaurar o estado da máquina virtual (programas rodando, etc…).
* Emulação de placa de rede virtual.
* Suporte a SMP.
* O SO convidado(emulado) não precisa ser modificado/pacheado.
* A performance é melhorada quando o módulo KQEMU é usado.
* Ferramentas de linha de comando permitem controle completo do QEMU sem ambiente gráfico (X11).
* Controle remoto da máquina emulada usando um servidor VNC integrado.
* Suporte a 'tablet' USB, provendo um mouse sem captura. Ativado com "-usb -usbdevice tablet".