Académique Documents
Professionnel Documents
Culture Documents
Escrito por Alexander Manfrin - ltima atualizao Seg, 17 de Maio de 2010 13:38
Na arquitetura X86, os sistemas operacionais foram escritos para rodar diretamente sobre o hardware (bare-metal), assumindo completo controle do hardware do computador para si. Nessa arquitetura so oferecidos 4 nveis de privilgios de acesso para operaes de sistemas e acesso das aplicaes ao hardware, estes so conhecidos como Ring 0, 1, 2 e 3. Aplicaes de usurios (user level) rodam tipicamente em Ring 3. O sistema operacional por sua vez precisa ter acesso direto memria e ao hardware e necessita executar as instrues em nvel privilegiado, nvel 0.
Assim, a arquitetura x86 requer que a camada de virtualizao esteja presente nos nveis mais privilegiados de execuo e o sistema operacional espera estar em Ring 0 para criar e gerenciar os recursos oferecidos s mquinas virtuais conforme pode ser visto na figura a seguir:
Trs tcnicas alternativas de virtualizao de instrues privilegiadas na CPU esto presentes para a arquitetura x86: Virtualizao Full, Paravirtualizao e Hardware Assist.
Paravirtualizao
1/4
Paravirtualizao uma tcnica de virtualizao de segunda gerao que apresenta uma interface de software para as mquinas virtuais, que similar, mas no idntica ao hardware adjacente. Nesta tcnica, a paravirtualizao refere-se comunicao entre o guest OS e o hypervisor para prover performance e eficincia. A paravirtualizao envolve a modificao do kernel do OS virtual, a fim de substituir instrues no virtualizadas que se comunicam diretamente com a camada de virtualizao (hypercalls). O hypervisor ento prov interfaces de comunicao para operaes crticas de kernel, como gerenciamento de memria, controle de interrupes e time keeping.
Isso faz com que a paravirtualizao no suporte sistemas operacionais no modificados tais como Windows 2000/XP/Vista, tendo assim, desvantagens de compatibilidade e portabilidade.
Figura - Paravirtualizao
O projeto Xen open source um exemplo de paravirtualizao que virtualiza o processador e memria, usando kernel modificado do Linux e virtualizando o I/O usando drivers de dispositivos customizados.
Virtualizao Full
A Virtualizao Full como tecnologia de primeira gerao utiliza tradues binrias e atualmente a tecnologia disponvel mais estvel e confivel disponvel. Implementaes utilizando essa tcnica oferecem alta performance de virtualizao para sistemas operacionais como Windows e Linux sem a necessidade de alterao do cdigo destes sistemas.
2/4
A Virtualizao Full difere da Paravirtualizao, pois o guest OS no modificado e no sofre alterao fazendo com que todas as operaes crticas e sensveis do OS virtual, sejam capturados usando traduo binria. A proposta da paravirtualizao sobre o overhead menor, mas as vantagens da paravirtualizao sobre a virtualizao full podem variar de acordo com o workload.
Hardware Assisted
Os fabricantes de hardware rapidamente abraaram a virtualizao e desenvolveram novas caractersticas para simplificar as tcnicas de virtualizao x86. A prxima gerao de hardware possui aprimoramentos que incluem as tecnologias de virtualizao Intel (VT-x) e AMD (AMD-v), ambos privilegiam a execuo de instrues de CPU com uma nova tecnologia que permite que a VMM rode em um novo modo root abaixo do Ring 0. Este mtodo privilegia as chamadas sensveis que so automaticamente capturadas pelo hypervisor, removendo a necessidade de traduo binria ou paravirtualizao.
3/4
Nesta tcnica, o estado da mquina virtual armazenado no Virtual Machine Control Structures (VT-x) para famlia Intel de processadores ou Virtual Machine Control Blocks (AMD-V) para processadores AMD. Essas caractersticas representam as futuras geraes de hypervisors que utilizaro os benefcios do hardware assistido para oferecer performance e confiabilidade para as mquinas virtuais.
4/4