Alternativo Headline Animator

quinta-feira, 12 de março de 2009

Maquina Virtual Introdução

Feed
Assine nosso Feed ou receba os artigos por email

Quase tudo pode ser simulado via software. É possível até mesmo simular um computador completo. Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que permitem rodar jogos de Atari, Mega-Drive, Super-Nes, Playstation e outros. Assim como é possível emular um videogame, é 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.


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/.

0 comentários:

Postar um comentário

Seguidores

Alternativo

Photobucket

Amor Eterno

Eu e Meu AMor


My blog is worth $152.000.
How much is your blog worth?

  ©Template by Dicas Blogger.