Home 
 1. Introdução
 2. Histórico  

 3. Classificações da Virtualização
3.1 Quanto à arquitetura
      3.1.1 Tipo I
      3.1.2 Tipo II
      3.1.3 Arquitetura Híbrida
 3.2 Quanto à técnica
       3.2.1 Virtualização total
       3.2.2 Paravirtualização
       3.2.3 Recompilação Dinãmica
       3.2.4 Vantagens e Desvantagens
               de cada técnica
 3.3 Outras classificações
       3.3.1 Abstração do ISA
       3.3.2 Hardware Abstraction Layer
       3.3.3 OS Level
 5. Perspectivas Futuras
     5.1 Inovações em estudo
 
 

Trabalho de Redes de Computadores I
Professor Otto Duarte
Índice de figuras  

 

 4. Estágio Atual

4.2 Ferramentas de Virtualização

 

XEN

O Xen é um monitor de máquina virtual (VMM ou hypervisor), em software livre, para arquiteturas x86. Originário de um projeto de pesquisa da universidade de Cambridge, sua primeira versão foi criada em 2003, 4 anos antes de ser comprada pela Citrix System, em 2007.

O Xen apresenta uma solução para virtualização um pouco diferente das apresentadas até agora. Ele consiste em criar um hypervisor, responsável por controlar os recursos das máquinas virtuais, mas que não possui drivers de dispositivos. Por isso, não é possível rodar um sistema operacional diretamente no hypervisor.

Por isso, é necessário que um sistema seja invocado para fazer a comunicação entre o hypervisor e os sistemas hóspedes. Esse sistema inicial chama-se domínio 0. Ele consiste em uma máquina virtual que executa um núcleo Linux modificado e possui privilégios para acessar dispositivos de entrada e saída e as outras máquinas virtuais.

As outras máquinas virtuais, onde podem rodar outros sistemas operacionais, são chamadas domínio U. Elas são criadas, inicializadas e desligadas através do domínio 0. Possuem um driver virtual para acesso aos recursos de hardware.

            O domínio 0 possui os drivers dos dipositivos da máquina física além de dois drivers especiais que tratam as requisições de acesso à rede e ao disco enviadas pelas máquinas virtuais. Assim, toda requisição de uso da máquina real feita por uma máquina do domínio U deve ser tratada pelo domínio 0 antes de ser enviada ao hypervisor.

Abaixo, componentes e arquitetura do Xen, segundo Carissimi, 2008:

xen1

Originalmente o Xen foi desenvolvido com o objetivo de implementar a técnica de para-virtualização, e, para isso, era necessário modificar os sistemas hóspedes para dar-lhes a consciência de rodarem sobre um hypervisor. Essa estratégia foi tomada visando ganhos em desempenho, mas limitou a difusão do Xen aos sistemas Unix, de código aberto.

A partir da versão 3, o Xen passou a implementar virtualização completa, podendo assim executar sistemas operacionais não modificados como Windows e Linux. Isso só foi possível após a Intel e a AMD lançarem suas arquiteturas com suporte para virtualização (Intel VT e AMD-V, respectivamente).

A fim de continuar servindo suporte a para-virtualização mas agora oferecer também virtualização completa, o Xen dividiu os domínios U entre para-virtualizados (domínios U-PV) e virtualizados (domínios U-HVM). Os domínios U-PV sabem que não tem acesso direto ao hardware e por isso precisam de drivers específicos para acesso à rede e ao disco.

Os domínios U-HVM, por não serem modificados, iniciam tentando executar a BIOS. O Xen virtual firmware é um componente que simula uma BIOS com todos os procedimentos normais de um boot. Depois, um daemon Qemu associado a uma U-HVM emula o hardware para que a máquina virtual possa usar o disco e a rede.

            A figura a seguir ilustra um desktop virtualizado por um monitor de máquina virtual Xen, mostrando a inicialização de uma máquina virtual executada em CentOs, em cima de outra máquina Linux. Na janela preta está o gerenciador de máquinas virtuais, que significa que esse nível é o domínio 0:

xen2






| Top | Next