Você está na página 1de 11

RESUMO Com a virtualizao as corporaes tem uma vasta gama de opes alm dos benefcios econmicos, j que esses

sistemas utilizam poucas maquinas fsicas, assim possvel aumentar e muito o nmero de operaes aumentando a produtividade e reduzindo os custos.. possvel ainda interconectar (virtualmente) cada uma dessas mquinas atravs de interfaces de rede, switches, roteadores e firewalls virtuais. Palavras-chave: virtualizao ABSTRACT With virtualization corporations have a wide range of options beyond the economic benefits, since these systems use fewer physical machines, so it is very possible to make the number of operations by increasing productivity and reducing costs .. It is also possible to interconnect (virtually) each of these machines via network interfaces, switches, routers, firewalls and virtual. Keywords: virtualization

INTRODUO A virtualizao uma tcnica que permite que em uma nica mquina possam ser executadas dois ou mais ambientes de execuo separados e isolados. Esta tcnica tem ganhado destaque no mundo TI nos ltimos anos, apesar de no ser exatamente uma novidade, pois sua origem remonta ao incio da dcada de 70. Antes usada apenas em servidores ou mainframes, onde estes deviam ser compartilhados por vrios usurios em ambientes de aplicao completamente heterogneos, hoje em dia esta tecnologia pode ser usada normalmente em computadores pessoais graas crescente onda de interesse em tcnicas de virtualizao.

1. A VIRTUALIZAO E SEUS CONCEITOS

Figura 1 Princpio bsico de mquinas virtuais

Na virtualizao, cada ambiente de execuo, chamamos de Mquina Virtual (VM), independente dos demais, podendo ter seu prprio sistema operacional, aplicativos e servios. Sendo assim, cada VM pode ter seu prprio sistema operacional hospedado, podendo ser diferente daquele utilizado na plataforma hospedeira. Com o avano das tcnicas de virtualizao na implementao destas interfaces pelos anos, podemos destacar duas delas, as mquinas virtuais de processo e o monitor de mquina virtual.

Figura 2Tipos de mquinas virtuais e sua relao com sistemas hspede e hospedeiro

Na primeira tcnica, uma aplicao executada sobre um programa que implementa uma mquina virtual de processo, onde neste caso a mquina virtual faz uso das funcionalidades providas pelo sistema operacional e pelo prprio processador atravs de instrues no privilegiadas. Ou seja, a aplicao faz uso apenas da interface provida pelo ambiente virtual. Enquanto que da segunda, a aplicao executada usando as chamadas de sistemas e funes de bibliotecas providas pelo sistema operacional, assim como as instrues no privilegiadas oferecidas desta vez por um monitor de mquina virtual (VMM). Ou seja, h a introduo de mais uma camada de software, que tem por objetivo arbitrar o acesso ao hardware subjacente a ela, fazendo com que estes recursos possam ser compartilhados pelos sistemas operacionais que esto sobre essa camada. A camada de software que controla o acesso ao hardware chamada VMM (Virtual Machine Monitor, ou Monitor de Mquina Virtual). Os sistemas operacionais que esto sendo executados sobre essa camada so chamados de hspedes. A cada sistema operacional visitante, o VMM apresenta um conjunto de interfaces, que constituem a mquina virtual.

Objetivo O interesse na virtualizao no s tem caminhado para um aperfeioamento do suporte ao hardware na virtualizao do processador, ou na simplificao do monitor da mquina virtual (VMM), mas tm evoludo sim com suas principais preocupaes na segurana, confiabilidade, disponibilidade, adaptabilidade e custo. Neste trabalho, vamos focar a ateno para a tcnica que faz uso do monitor de mquina virtual (VMM), que desde meados de 2005 tem ganhado muita ateno devido ao uso de novas tcnicas de virtualizao aplicadas pela Intel para sua famlia de processadores. Neste trabalho, vamos focar a ateno para a tcnica que faz uso do monitor de mquina virtual (VMM), que desde meados de 2005 tem ganhado muita ateno devido ao uso de novas tcnicas de virtualizao aplicadas pela Intel para sua famlia de processadores. Sendo assim, neste trabalho, visamos estudar os modelos e mtodos de virtualizao aplicados para os microprocessadores da famlia Intel, focando nos desafios de implementao desta tecnologia na arquitetura 32 bits (IA-32), e as solues propostas pelo prprio fabricante. Ao final

deste, esperamos chegar a uma concluso a respeito do desempenho, confiana e adaptabilidade desta tecnologia cada vez mais presente na rea de TI.

Monitor de Mquina Virtual

Podemos citar muitos efeitos positivos oferecidos pelo uso da virtualizao de sistemas, como a melhora na sua utilizao, no seu gerenciamento e na confiabilidade. Com o uso da virtualizao, diversos usurios com sistemas operacionais com diferentes requisitos podem fazer uso do mesmo servidor virtualizado; atualizaes em sistemas podem ser encenadas atravs de mquinas virtuais, diminuindo o tempo gasto; e falhas em mquinas hspedes podem ser isoladas do sistema hospedeiro quando ocorrerem, evitando a propagao do erro para outras aplicaes. Enquanto estes benefcios tm sido considerados amplamente valiosos, em diversos aspectos, justificando o uso da virtualizao. Veremos trs funcionalidades que foram revolucionadas para a virtualizao a partir da introduo do VMM.

Isolamento do Sistema

A virtualizao pode oferecer de diversas formas, toda a segurana e confiabilidade ao isolar mltiplas pilhas de aplicativos em suas mquinas virtuais. A segurana pode ser oferecida, pois em qualquer caso de ataque ao sistema emulado, os danos podem ser confinados dentro da maquina virtual, enquanto podemos obter a garantia que nenhuma outra maquina virtual ser afetada.

Figura 3 Isolamento do Sistema

Mltiplos Sistemas em apenas uma mquina

Com a virtualizao possvel a coexistncia de diversos sistemas heterogneos em apenas uma mquina fsica. O que faz com que acabe o desperdcio de recursos, como no caso de servidores web ou de arquivos, onde em uma nica mquina rodava apenas uma aplicao acarretando um sub-uso de recursos e um desperdcio de capital.

Figura 4 Mltiplos Sistemas

Migrao de Sistemas

Fazendo o encapsulamento dos clientes em mquinas virtuais separadas, com o uso da virtualizao se faz capaz a migrao entre plataformas diferentes de forma transparente para o usurio cliente. E alm de facilitar a manuteno das plataformas de hardware, este procedimento ainda pode ser disparado automaticamente em casos de alguma deteco de falha na plataforma atual do cliente. Esta capacidade pode revolucionar o nvel da qualidade de servio oferecida em mquinas dedicadas para servidores web, onde o cliente nem notaria a falha do sistema, enquanto ele seria migrado para outra plataforma diferente da que se encontra, para que esta entre em manuteno.

Figura 5 Migrao de Sistemas

Intel Virtualization Technology

A tecnologia

Com o aumento do uso da virtualizao para novas ferramentas e aplicaes que encontraram vantagens no uso desta tecnologia, tanto em servidores quanto em mquinas clientes, foi iniciado um grande investimento por conta dos fabricantes de processadores para gerir esta integrao. Infelizmente, neste processo, em especial na famlia de processadores da Intel, foram descobertos diversos desafios por conta das arquiteturas IA-32 e Itanium. Tambm chamada de Intel VT-x, esta tecnologia visa diminuir a complexidade dos VMM (Monitores de Mquina Virtual), aumentando o desempenho de sistemas virtualizados baseados em software, permitindo que sistemas operacionais no modificados sejam executados, em mquinas virtuais, com desempenho igual ou superior ao alcanado pela paravirtulizao. Onde os sistemas operacionais so modificados ou sofrem translaes binrias para serem executados sobre um VMM.

Arquitetura e funcionamento

A VT-x adiciona ao IA-32 duas novas formas de operao da CPU: VMX (Virtual Machine Extensible) root e VMX non-root-operation. Enquanto o VMM executado no VMX rootoperation, seus sistemas visitantes so executados no VMX non-root-operation. Ambos os suportes de operao possuem suporte para os quatro nveis de privilgio (0 a 3), permitindo que um sistema visitante seja executado com o privilegio que desejar, e fornecendo ao VMM a flexibilidade de usar todos os nveis de operao.

No modo de operao VMX root, o funcionamento da mquina virtual similar arquitetura 32 bits sem o VT-x. Onde as aplicaes que so executadas no modo VMX non-root so desprivilegiados em alguns aspectos, independente do nvel de privilgio. Assim, o VT-x define duas novas transies, onde a primeira a transio do modo VMX root para o modo VMX nonroot, ou seja, do VMM para o sistema visitante, que chamada de VM entry, e a transio do modo VMX non-root para o VMX root, ou seja, do sistema visitante para o VMM, chamada de VM exit. Nesta nova soluo, a Intel VT-x coloca um conjunto de novas instrues no processador, chamado de Virtual Machine Extensions, VMX. Esse novo conjunto formado por 10 instrues especficas de virtualizao: VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUCH, VMRESUME, VMXOFF e VMXON. Para entrar no modo de virtualizao, a instruo VMXON deve ser chamada pelo software e, s ento, chamar o VMM. Aps entrar no modo de virtualizao, o VMM pode entrar em cada mquina virtual usando a instruo VMLAUNCH e sair delas usando a instruo VMRESUME. Para parar todas as mquinas virtuais e sair do modo de virtualizao, o VMM deve executar a instruo VMXOFF. [2] Na figura abaixo, temos ilustrado o processo de chamada de instrues para executar uma mquina virtual.

Figura 6 Mtodos de Virtualizao

Mtodos de Virtualizao

Os microprocessadores da Intel oferecem uma proteo para a execuo de aplicaes baseada em 2-bits de nveis de privilgios (tambm chamados de ring), fazendo uso do 00 (zero) para o

nvel mais alto e 11 (trs) para o mais baixo. O nvel de privilegio determina qual instruo privilegiada, que controla as funcionalidades bsicas da CPU. Ou seja, que podem operar sem obter falha, garantindo a acessibilidade ao espao de endereamento. Porm, mesmo com 4 nveis de privilgios, a maioria das aplicaes desenvolvidas pra IA-32, usam somente os nveis 0 e 3. Analisando a imagem acima, podemos observar que a virtualizao assistida por hardware, caso da Intel VT-x que estende a IA-32, muda a forma de acesso ao sistema operacional. Sistemas operacionais para a plataforma IA-32 so projetados para terem acesso direto aos recursos do sistema para executarem, ou seja, com nvel de privilgio 0. Mas como o VMM no pode conceder este privilgio para o sistema hspede, contornando este problema, usada a tcnica chamada ring deprivileging. Nesta tcnica, a aplicao executada em um nvel de proteo menor que ela foi projetada para ser executada. Para esta tcnica so usados dois modelos: o modelo 0/1/3, no qual o sistema operacional visitante executado no nvel 1 de privilgio e suas aplicaes no nvel 3, e o modelo 0/3/3, no qual tanto as aplicaes do sistema operacional visitante como ele mesmo so executados no nvel de privilgio 3. Em ambos os modelos o VMM executado no nvel 0. Porm esta tcnica causa inmeros desafios para virtualizao.

Desafios e Solues

A seguir, vamos analisar alguns desafios que a virtualizao da famlia de processadores IA-32 apresenta, e para cada item, a sua soluo oferecida pela Intel VT-x.

Compresso do espao de endereamento A VMM reserva para si uma parte do espao de endereamento virtual do visitante. Poderia rodar inteiramente no espao do visitante, mas poderia utilizar uma quantidade relevante de espao de endereamento virtual do visitante. Como alternativa a isso, a VMM roda em seu prprio espao, ainda usando obrigatoriamente um pouco do espao do usurio para estruturas de controle que gerenciam transies entre a VMM e o software do sistema hspede. Nesta situao, a VMM precisa proteger a parte do espao de endereamento virtual utilizada no visitante, de forma que ele no descubra que executado em um ambiente virtual, comprometendo assim o isolamento da mquina. Logo, para resolver este problema, o VT-x muda o espao de endereamento-linear para cada transio entre o VMM e o SO visitante. Permitindo ao sistema hspede, total uso do seu espao de endereamento. Sendo assim, as transies do VMX so gerenciadas pelo VMCS, que reside no espao de endereamento fsico, e no no linear. Ring Aliasing e Ring Compression Problemas de ring aliasing surgem quando um programa executado a um nvel de privilgio diferente do nvel para que este foi escrito. Por exemplo, ao executar a instruo PUSH com o

registrador CS, possvel determinar que um SO visitante no estivesse rodando com privilgio nvel 0. Os problemas de ring compression aparecem quando se tenta proteger o VMM das aplicaes visitantes, executando ring deprivileging, ou seja, quando os SO visitantes so executados em ring 3, como no modelo 0/3/3. Como neste modelo, tanto o sistema visitante quanto o as aplicaes que rodam nele so executados com o mesmo nvel de privilgio, isso faz com o que o sistema visitante fique vulnervel em relao as suas prprias aplicaes. Para eliminar ambos os problemas, a VT-x permite que o VMM execute os aplicativos do sistema visitante com o privilgio que quiser. Instrues como PUSH, no revelam mais que o software esta sendo executado em uma mquina virtual. Acesso ao estado privilegiado sem gerar falha Proteo baseada em privilgios costuma prevenir programas, sem o privilegio adequado, de acessar certos componentes de estado privilegiado da CPU, resultando em falha para essas tentativas de acesso e permitindo que a VMM (Virtual Machine Monitor) emule a instruo desejada. No entanto, as arquiteturas IA-32 e Itanium possuem instrues que acessam estados privilegiados e no falham, mesmo em caso de privilgios insuficientes. Para o IA-32, por exemplo, um visitante pode executar as instrues LGDT, LIDT, LLDT e LTR com nvel 0 de privilgio. Isso pode ser evitado se a VMM mantiver valores inesperados para os registradores mencionados.

Concluso

Podemos dizer, sem dvida alguma que a virtualizao tem sido um dos assuntos mais comentados e estudados na rea de TI nos ltimos 7 anos. E assim como j aconteceu no passado com a multiprogramao, os projetos dos processadores vem vindo investindo cada vez mais em mecanismos para auxiliar na virtualizao. Este seria o caso da Intel e de sua concorrente AMD, que vm desde 2005 desenvolvendo solues para que as arquiteturas passadas possam suportar a virtualizao. No caso da Intel, como citado neste trabalho, a implementao do Intel Virtualization Technology para a famlia IA-32. Alm do uso tpico da virtualizao, na consolidao de servidores, permitindo que vrios servidores sejam executados em um nico hardware fsico (cada um em uma mquina virtual), podemos encontrar outras situaes para as quais a tcnica foi empregada com sucesso. Entre elas, para ambientes de desenvolvimento e testes de produtos, laboratrios de cursos de redes e de sistemas operacionais, criao de cluster ou grades computacionais virtuais e servir de base para implantao de mecanismos de segurana. [5] Devido ao fato da virtualizao ser implementada basicamente com a introduo de uma camada de software a mais no sistema computacional, a primeira questo que pode vir em mente quanto queda da eficincia do sistema em si. Estudos realizados por desenvolvedores de softwares para VMM mostram que a queda de 2% a 10% [5]. Mas sem sombra de dvidas, no faltam investimentos nesta rea para diminuir estes nmeros. O que de fato, por outro lado, se

deixarmos a viso empresarial, mesmo com uma queda do rendimento, ainda teremos um melhor aproveitamento do material investido no hardware. Uma vez que com a consolidao de servidores, reduzimos os custos na aquisio de equipamentos, e com infraestrutura fsica como espao, energia, cabeamento, refrigerao e outros custos. Ou seja, pensando agora no desafio ecolgico, podemos chamar esta queda de eco-eficincia.

Bibliografia [1] "Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization" / http://www.intel.com/technology/ [2] "Intel Virtualization Technology" / Rich Uhlig, Gil Neiger, Dion Rodgers, Amy L. Santoni, Fernando C.M. Martins, Andrew V. Anderson, Steven M. Bennett, Alain Kgi, Felix H. Leung, Larry Smith. Intel Corporation./ http://www.gta.ufrj.br/ensino/CPE758/artigos-basicos [3] "Understanding Intel Virtualization Technology" / Narendar B. Sahgal, Dion Rodger / Digital Enterprise Group - Intel Corporation [4] "Virtualizao de Sistemas Operacionais" / Rodrigo Ferreira da Silva [LNCC - Laboratrio Nacional de Computao Cientfica] [5] Virtualizao: da teoria a solues, Captulo 4 / Alexandre Carissimi Instituto de Informtica (UFRGS) / http://www.gta.ufrj.br/ensino/CPE758/artigos-basicos/cap4-v2.pdf

Você também pode gostar