O Virtual Server é uma versão originaria do Virtual PC e foi concebido para competir com o VMware na virtualização em servidores Windows. Por ser uma máquina virtual do Tipo II, precisa de um sistema anfitrião (host) para o seu funcionamento.
Assim como outros softwares para virtualização, o programa exibe uma janela onde é possível abrir sistemas operacionais, como Windows, Linux, o que permite executar diversos sistemas operacionais em uma mesma máquina, sobre um sistema operacional nativo Windows. Uma das vantagens do software é a rápida reconfiguração dos equipamentos.
Além do Virtual Server, a Microsoft possui o Virtual PC inicialmente projetado e desenvolvido pela empresa Connectix (empresa adquirida pela Microsoft), é um software para virtualização que suporta o sistema operacional Windows sobre os computadores Macintosh.
O Virtual Server executa os sistemas operacionais como serviços, e tem como principais características:
Suporte a conectividade permitindo cluster de todas as máquinas virtuais executadas sobre um host;
Oferece flexibilidade aos encapsular máquinas virtuais em discos virtuais;
Possibilidade de migração de máquinas virtuais com ferramentas especiais.
A maior desvantagem sobre o Virtual Server é o funcionamento somente em servidores Windows.
Atualmente a Microsoft disponibiliza o Virtual Server e Virtual PC para download gratuito em seu site na internet
6.2 - VIRTUALBOX
O VirtualBox é um software de virtualização para arquitetura x86 desenvolvido pela empresa Innotek GmbH, com sede na Alemanha. Desde janeiro de 2007 possui uma versão que é open source de licença GNU GPL. O software é uma máquina virtual do tipo II e executa como um processo de sistema operacional host que pode ser Linux, Windows 32 ou 64 bits, ou Mac OS X. Atualmente suporta sistemas convidados como DOS, FreeBSD, Linux, OpenBSD, NetBSD, Solaris, Netware, OS/2 Warp e Windows. Ele utiliza a técnica da virtualização total, emulando componentes chaves do hardware. Com isso, não há necessidade de que os sistemas operacionais convidados sejam modificados para que executem em uma máquina virtual. O VirtualBox tenta executar uma porção do código dos sistemas virtuais diretamente no processador. Caso haja problemas no processo, o VirtualBox também utiliza a técnica de recompilação dinâmica. O recompilador do VirtualBox é baseado no open-source QEMU.
Adicionalmente, o VirtualBox automaticamente “desmonta” e, na maioria dos casos, “corrige” o código dos sistema convidados a fim de prevenir futuras recompilações. Em razão disso o código executa nativamente na maior parte do tempo, numa tentativa de aumentar seu desempenho [VIRTUALBOX].
No software, os discos são emulados num recipiente especial chamado Virtual Disk Image (arquivos VDI), o qual até o momento é incompatível com formatos usados por outras soluções. O VirtualBox possui uma funcionalidade que pode conectar dispositivos SCSI e usá-los como discos virtuais.
O VirtualBox virtualiza os adaptadores gráficos como no padrão VESA e cuja memória pode ser ajustada. Em sistemas convidados Linux e Windows, pode ser instalado drivers gráficos especiais para melhorar o desempenho.
Os adaptadores de rede são virtualizados como adaptadores AMD PCNet, e placas de som como dispositivos Intel ICH AC’97. Dispositivos USB também são emulados. Outras características do VirtualBox:
Permite virtualização recursiva (uma instância do VirtualBox pode ser executada em sistema convidado).
Permite controle total através de linha de comando.
Permite logon automático em máquinas virtuais Windows.
Inclui um servidor Microsoft Remote Desktop Protocol (RDP) para administração de máquinas virtuais.
Inclui suporte total a Intel VT e suporte experimental ao AMD-V.
6.3 – XEN
A proposta do ambiente Xen é suportar aplicações sem a necessidade de alterações, ou seja, múltiplos sistemas operacionais convidados e a cooperação entre esses sistemas, com o máximo de desempenho possível. O projeto Xen nasceu na Universidade de Cambridge, tendo se transformado na instituição independente XenSource, que foi depois adquirida pela Citrix Systems.
O Xen é uma máquina virtual do Tipo I para a plataforma x86, possui um sistema operacional próprio (host), utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de forma transparente os recursos do hardware, permitindo que o sistema convidado (guest) rode com uma redução de performance muito pequena. O Xen não é uma solução fácil de usar como o VMware, sendo mais voltado para uso em servidores Linux, permitindo rodar vários servidores virtuais numa única máquina.
Segundo Xensource (2007) as empresas estão abraçando o Xen para servidores, porque lhes permite aumentar a utilização dos servidores, consolidar servidores, e reduzir drasticamente a complexidade e o custo total de propriedade.
O Xen tem acesso privilegiado ao hardware da máquina e os sistemas convidados utilizam esse acesso privilegiado como ponte para acessar o hardware.
Uma das desvantagens é que para rodar dentro do Xen é necessário que o sistema convidado (guest) seja modificado. Não é possível rodar qualquer sistema diretamente, como no caso do VMware.
Para utilizar o Xen Laureano (2006, p. 101) define que:
Os sistemas convidados precisam ser alterados para executar sob o Xen. Conforme apresentado pelos criados do Xen, o custo e o impacto das alterações nos sistemas convidados são baixos e a diminuição do custo da virtualização compensa essas alterações.
Isto não é um grande problema no caso do Linux, mas é no caso do Windows e outros sistemas de código fechado. O código-fonte do Xen está liberado sob a licença GNU General Public License (GPL). Atualmente, o ambiente Xen suporta os sistemas Windows XP, Linux e Unix (baseado no NetBSD). Diversas distribuições Linux já possuem suporte nativo ao Xen.
6.4 - VMWARE
Lançado em 1999, é uma máquina virtual para computadores baseados na plataforma x86, considerada a mais bem elaborada e difundida dos últimos tempos. A empresa desenvolvedora do VMware, a VMware Inc. é uma subsidiária da EMC Corporation e localiza-se na Califórnia, Estados Unidos.
O VMware possui diferentes versões e caracteriza-se como um software proprietário que provê uma camada de virtualização para suporte a vários sistemas operacionais sobre um único hardware, suas versões de máquinas virtuais podem ser do tipo I ou II, de acordo com a versão do software escolhida.
Segundo Laureano (2006), o VMware faz uma implementação completa da plataforma x86 ao sistema convidado, sendo uma ferramenta útil em diversas aplicações.
De fácil uso e excelente desempenho, o VMware permite a emulação de vários sistemas operacionais ao mesmo tempo sobre um sistema hospedeiro, utilizando para isto o conceito de máquinas virtuais. Como podem existir diversos sistemas operacionais em execução no mesmo hardware, o monitor tem de emular certas instruções para representar corretamente um processador virtual em cada máquina virtual. Essas instruções a serem emuladas são chamadas de instruções
sensíveis. Isto é um pouco diferente de uma JVM (Java Virtual Machine), onde, por exemplo, o emulador tem de traduzir o código bytecode (código de programação Java), antes de executá-las.
Para entendermos um pouco melhor o VMvare, imagine um computador com o Windows XP Professional instalado e sobre ele instalarmos o VMware. Ele possibilitará a criação de várias máquinas virtuais com seus próprios sistemas operacionais, inclusive Linux, Windows, Sun, Novell. É como se tivesse mais de uma máquina, porém tendo apenas uma, podendo existir diferentes sistemas operacionais em execução no mesmo hardware. Isto ocorre devido à emulação por parte do monitor de máquinas virtuais das tais instruções sensíveis que visam representar corretamente um processador virtual em cada máquina virtual.
Por razões de desempenho, as máquinas virtuais geralmente confiam no mecanismo de trap (armadilha) do processador para executar instruções sensíveis. Porém, os processadores x86 não capturam todas as instruções sensíveis e um trabalho adicional deve ser realizado.
Segundo Cherene (2008) para controlar as instruções sensíveis que não foram capturadas, o VMware utiliza uma técnica chamada reescrita binária. Com essa técnica, todas as instruções são examinadas antes de serem executadas, e o monitor insere pontos de parada no lugar das instruções sensíveis. Quando executado, o ponto de parada faz com que o processador capture a instrução do monitor. Essa técnica acrescenta complexidade ao monitor do VMware, o que provê um conjunto completo de instruções x86 para interface do sistema convidado.
Por razões de desempenho, o monitor do VMware utiliza uma abordagem híbrida (otimizações inseridas nas arquiteturas das máquinas virtuais do tipo I e II, com o objetivo principal de melhorar o desempenho das aplicações nos sistemas convidados). O controle de exceção e gerenciamento de memória é realizado através da manipulação direta do hardware, mas para simplificar o monitor, o controle de E/S é do sistema anfitrião (host). Com o uso de abstrações para suportar a E/S, o monitor evita manter device drives, algo que os sistemas operacionais já implementam adequadamente. Essa simplificação causou uma perda de desempenho em versões mais antigas do VMware, mas foram adotadas otimizações para diminuir seus efeitos e melhorar o desempenho de E/S. A gerência de memória no VMware é feita diretamente pelo sistema convidado, para garantir que não ocorra nenhum conflito de memória entre o sistema convidado e o sistema host, o VMware
aloca uma parte da memória para uso exclusivo, então o sistema convidado utiliza essa memória previamente alocada.
Os arquivos são armazenados em "discos virtuais" que aparecem como arquivos dentro de uma pasta no sistema host e cada sistema operacional podem ter uma configuração de rede distinta, com seu próprio endereço IP. As máquinas virtuais ficam acessíveis na rede, como se fossem realmente PC's completos, permitindo rodar um servidor Web ou programas de aplicação gráfica dentro de uma máquina virtual, sem comprometer a segurança do seu sistema principal.
Segundo VMWARE (2007), para controlar o sistema convidado, o VMware implementa serviços de interrupção, para todas as interrupções do sistema convidado. Sempre que uma exceção é causada no convidado, ela é examinada primeiro pelo monitor. As interrupções de E/S são remetidas para o sistema anfitrião, para que sejam controladas corretamente. As exceções geradas pelas aplicações no sistema convidado são remetidas para o sistema convidado.
O VMware interpreta e converte instruções o mínimo possível, o que faz com que o sistema dentro da máquina virtual rode com um desempenho muito similar ao desempenho da máquina real.
Segundo VMware (2007), o VMware conta com uma variedade de produtos de virtualização disponibilizando as empresas e usuários opções de escolha: VMware ACE, VMware VirtualCenter, VMware ESX Server, VMware Workstation, VMware Player, o VMware Server e a suíte VMware Infrastructure. Cabe destacar que o VMware Player e o VMware Server possuem versões gratuitas para download. A seguir faremos um estudo mais detalhado sobre as versões – ESX Server, Workstation, Player e Server – principais destaques do VMware. Além de uma breve explicação sobre a suíte VMware Infrastructure.