Você está na página 1de 4

Máquinas virtuais: uma introdução

Quase tudo pode ser simulado via software. É possível até mesmo simular um
computador de arquitetura diferente, para que os softwares escritos pare ele rodem da
mesma forma que rodam dentro do seu sistema nativo.

Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que


permitem rodar jogos de Atari, Nintendo 8 bits, Mega-Drive, Super-Nes, Playstation e
outros.

Assim como é possível emular um videogame para rodar os jogos escritos para ele, é
possível simular um PC completo e rodar outros sistemas operacionais, dentro de uma
janela. Isso permite que você rode o Windows dentro do Linux ou vice-versa. Esse PC
"de mentira" é chamado de máquina virtual.

O sistema principal neste caso passa a ser chamado de host (hospedeiro) e o outro
sistema operacional que está rodando dentro da máquina virtual é chamado de "guest"
(convidado). Ele acha que tem um PC completo para si, enquanto na verdade está
rodando dentro de uma "matrix", na máquina virtual.

Naturalmente, este trabalho de simular um PC completo e ainda por cima com um bom
desempenho não é simples, veja o caso dos emuladores de videogame de uma forma
geral, que sempre precisam de um PC muito mais poderoso do que o sistema original. É
preciso um Pentium 200 para emular um Super Nes (que usa um processador de 3.5
MHz e 128 KB de RAM) com qualidade.

Existem atualmente três softwares que se destacam nesta categoria, o VMware, Qemu e
o Xen, que trabalham de forma ligeiramente diferente, mas com grandes diferenças
práticas.

O VMware usa um conceito de virtualização. Ele tenta sempre que possível converter
os comandos usados pelo sistema dentro da máquina virtual em comandos que o sistema
host entenda e execute diretamente. Por exemplo, se o Windows dentro da máquina
virtual tenta tocar alguma coisa na placa de som, o VMware simplesmente pega os
dados e toca na placa de som "real" do micro, como se fosse outro programa qualquer.
O mesmo se aplica a todo tipo de instruções básicas, que são executadas diretamente
pelo processador principal. O VMware interpreta e converte instruções o mínimo
possível.

O Qemu por sua vez é um emulador. Ele tenta processar todas as instruções, o que
acaba demorando mais tempo e fazendo com que a performance seja menor. Em geral o
VMware (nas versões recentes) consegue fazer com que o sistema guest rode com 60 a
90% do desempenho que teria se estivesse rodando diretamente, enquanto o Qemu
obtém de 5 a 10%. O Qemu possui um módulo adicional, o Kqemu, que faz com que ele
passe a funcionar de forma mais similar ao VMware, virtualizando as instruções básicas
do processador, ao invés de emular tudo. O Kqemu melhora consideravelmente o
desempenho do Qemu, mas ainda assim o deixa bem atrás do VMware em questão de
desempenho.
O Qemu é um projeto open-source, enquanto o VMware é comercial, disponível em
duas versões. O VMware Workstation é a versão completa, um software relativamente
caro (199 dólares), mas que pode ser usado por 30 dias.

O VMware Player por sua vez é a versão gratuita, com bem menos funções, que pode
ser usada para rodar máquinas virtuais criadas através do VMware Workstation,
praticamente sem limitações, mas sem criar novas máquinas virtuais (VMs). A dica é
que você pode obter a versão trial do VMware Workstation e usá-la para criar as
máquinas virtuais e passar a usar o VMware Player depois que o trial expirar. Você
pode baixar ambas no http://www.vmware.com. Baixe o pacote genérico, que pode ser
instalado em várias distribuições.

No Kurumin (a partir do 5.1) você encontra o VMware Player e um script para criar e
alterar as configurações das VMs, provendo uma solução completa.

Estas máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem que você
rode outros sistemas operacionais dentro de uma janela, tendo acesso a todos os
softwares que precisa. Muita gente utiliza este recurso para manter uma cópia do
Windows à mão para quando precisam de algum programa específico. Muitos micros (e
quase todos os notebooks) vêm com uma licença do Windows de qualquer forma e esta
é uma boa maneira de aproveitá-la sem sair do Linux.

Conforme o Qemu e VMware forem evoluindo e os micros forem ficando cada vez
mais rápidos, a perda de desempenho por rodar o Windows dentro da máquina virtual
será cada vez menos significativo, permitindo que você tenha uma forma confortável de
continuar rodando seus aplicativos antigos mesmo depois de migrar definitivamente
para o Linux.
Outra grande utilidade é que você pode testar outras distribuições e ter um sistema
"sparing", onde você pode testar de tudo sem medo de danificar sua instalação principal.
Todos os arquivos da máquina virtual são salvos num "disco virtual", que nada mais é
do que um arquivo comum, dentro da pasta com a VM, formatado de uma forma
especial. Este arquivo é usado de tal forma que o sistema dentro da VM realmente acha
que está usando um HD real, particionando, formatando e tudo mais.

Tudo começa com a criação da máquina virtual, que consiste basicamente no arquivo
com o disco virtual e um arquivo de configuração, salvos dentro da pasta escolhida. No
VMware, o tamanho do disco virtual é apenas um limite. O arquivo começa vazio,
ocupando apenas alguns kbytes e vai inchando conforme são instalados programas
dentro da máquina virtual, ocupando sempre um espaço equivalente ao espaço ocupado
pelo sistema instalado.

A instalação do sistema dentro da máquina virtual é feita de forma normal. Você vai
particionar e formatar o "HD" e tudo mais, só que tudo vai sendo feito dentro do disco
virtual, sem que o Windows dentro da máquina virtual tenha acesso direto aos demais
arquivos no HD. Se ele pega um vírus, apenas o que está dentro do disco virtual é
afetado. Na pior das hipóteses você pode deletar o arquivo e começar de novo. Para
todos os efeitos, a VM funciona como um PC real; você pode até mesmo instalar
Windows e Linux em dual boot, ou experimentar a instalação de várias distribuições
Linux no mesmo HD.

O VMware e o Qemu são os mais usados nos desktops, mas existe uma terceira opção,
muito popular nos servidores, o Xen.

O Xen utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de forma
transparente os recursos do hardware, permitindo que o sistema guest rode com uma
redução de performance muito pequena (menos de 5%, na maioria dos casos). O maior
problema é que para rodar dentro do Xen é necessário que o sistema guest seja
modificado. Não é possível rodar qualquer sistema diretamente, como no caso do
VMware e do Qemu.

Isto não é um grande problema no caso das distribuições Linux, mas é no caso do
Windows e outros sistemas de código fechado.

O Xen é muito mais complicado de configurar que o VMware. No caso dos servidores
(onde temos um público da área técnica) isto não chega a ser um grande problema, mas
nos desktops ele é ainda pouco usado. Mesmo assim, é possível que o Xen evolua em
termos de facilidade de uso e, graças ao bom desempenho, comece a disputar
diretamente com o VMware. A página do Xen é a http://www.xensource.com/.

Você também pode gostar