Início > Conceitos, Virtualização > Máquina Virtual ( VM )

Máquina Virtual ( VM )

12/05/2010

Resumo, conceitos básicos das Máquinas Virtuais, Virtual Machines ou VM.

Máquina Virtual :

Dentre os conceitos envolvidos para o estudo de máquinas virtuais, o monitor (também chamado de hypervisor ou VMM) é um dos principais. O monitor é uma camada de software inserida entre o sistema convidado (guest system, ou sistema operacional que está dentro da Maquina Virtual) e o hardware, local onde sistema convidado é executado. Essa camada faz uma interface entre os sistemas virtuais e o hardware que é compartilhado por eles. Ela é responsável por gerenciar todas as estruturas de hardware, como dispositivos de I/O (ou E/S – entrada e saída de dados), criando um ambiente completo (máquina virtual), no qual os sistemas virtuais são executados.
O nível de abstração e funcionalidade da VM está em uma posição intermediária entre um emulador e uma máquina real, fazendo com que os recursos de hardware e de controle sejam abstraídos e usados pelas aplicações. O software de máquina virtual cria um ambiente por meio de um Monitor de Máquina Virtual (VMM), que é um computador com seu próprio sistema operacional dentro de outro sistema operacional (host). Este monitor pode criar várias máquinas virtuais sem que nenhuma interfira na outra e também não interfira no sistema real onde o software de máquina virtual está instalado.
Na sua essência, o ‘hardware’ da máquina virtual é idêntico ao hardware da máquina real, fazendo com que o sistema operacional na máquina virtual pareça estar executando diretamente sobre um computador real. Cada VM possui todas as características inerentes a um PC completo, incluindo BIOS e configuração do Setup.
A máquina virtual é formada pelo seu próprio ‘hardware’ virtual. Ela tem seu processador, memória, placa de rede, disco rígido, e até mesmo pode usufruir de dispositivos como USB, portas paralelas e seriais, de maneira independente da máquina física. É natural que a capacidade de processamento de uma VM seja uma fatia do processador físico, o mesmo com a memória e assim por diante. Mas podemos definir uma máquina virtual como uma nova máquina (como se tivesse sido comprada), mas que existe dentro de outra máquina física. Uma máquina física pode ser fatiada em várias máquinas virtuais, cada uma pode conter um sistema operacional diferente com programas diferentes. Não existe compartilhamento de arquivos ou partes de sistemas operacionais entre as máquinas virtuais, o isolamento entre elas é total.
Hoje, uma máquina virtual sobre um hypervisor pode ter mais de 64 GB de Memória RAM, 4 processadores virtuais, 4 placas de rede, cada uma com seu próprio Mac Adress e, conseqüentemente, seu próprio endereço IP. O disco de uma máquina virtual pode ser um grande arquivo que irá conter tudo o que for instalado nela, ou um volume na storage, conhecido como LUN, da mesma forma que se faz com máquinas físicas.
As placas de rede da máquina virtual podem ser conectadas a switches virtuais, que podem dar acesso à rede física ou não, e conectar máquinas virtual entre si. A partir do momento em que criamos uma máquina virtual e definimos seu tamanho, arquitetura de discos e rede, basta instalar o sistema operacional escolhido e aplicativos desejados. Ao final deste processo temos uma máquina virtual, que é idêntica a uma máquina física, isolada e só pode compartilhar arquivos com outra máquina virtual ou física através da rede.
Tipos de máquinas virtuais
Não se pode confundir uma “máquina virtual de sistema” (system virtual machine) ou “máquina virtual de hardware” (hardware virtual machine), assunto do qual é tratado neste blog, com uma “máquina virtual de processo” (process virtual machine).
Uma máquina virtual de processo é criada quando um processo se inicia em um sistema operacional e destruída quando este processo se finaliza. Trata-se de um ambiente de programação e execução de programas, e seu objetivo é abstrair detalhes do sistema operacional e hardware para que o processo ou aplicativo rode sempre no mesmo “ambiente virtual”, mesmo que instalado em plataformas diferentes.
Exemplos de máquinas virtuais de processo mais comuns no mercado são Java Virtual Machine e .NET framework, que usam uma máquina virtual chamada Common Language Runtime.
Naturalmente, uma máquina virtual de hardware, que contém um sistema operacional de mercado e aplicativos, e que é idêntica a uma máquina física, pode conter máquinas virtuais de processos instaladas em seu sistema operacional.

Anúncios