13.07.2015 Views

Artigo - Laboratório de Banco de Dados

Artigo - Laboratório de Banco de Dados

Artigo - Laboratório de Banco de Dados

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2. Monitores <strong>de</strong> máquinas virtuaisA virtualização <strong>de</strong> recursos computacionais é um conceitoque foi bastante difundido no início da década <strong>de</strong>70, permitindo o compartilhamento e melhor aproveitamentodo po<strong>de</strong>r computacional dos mainframes existentes[8]. Atualmente, fatores como aumento <strong>de</strong> <strong>de</strong>sempenhodos computadores atuais e utilização <strong>de</strong> ambientes interligadosimpulsionaram novamente a utilização <strong>de</strong> ambientesvirtualizados.Soluções <strong>de</strong> virtualização envolvem basicamente o uso<strong>de</strong> uma camada <strong>de</strong> software que permite que múltiplasmáquinas virtuais (possivelmente executando diferentes sistemasoperacionais) utilizem os recursos <strong>de</strong> uma dadamáquina real. O gerenciamento <strong>de</strong>stas máquinas virtuaisé <strong>de</strong> responsabilida<strong>de</strong> <strong>de</strong> um Monitor <strong>de</strong> Máquinas Virtuais.Um MMV oferece, aos diferentes sistemas executandosobre suas máquinas virtuais, a ilusão um ambiente real, semelhanteà arquitetura original do computador hospe<strong>de</strong>iro.A eficiência <strong>de</strong> um monitor é medida <strong>de</strong> acordo com sua intrusivida<strong>de</strong>na interceptação e manipulação das instruçõesvirtualizadas.Dentre as abordagens <strong>de</strong> implementação <strong>de</strong> monitores <strong>de</strong>máquinas virtuais, distingue-se os sistemas <strong>de</strong> virtualizaçãohospedada dos sistemas <strong>de</strong> virtualização clássica [15]. Emsistemas <strong>de</strong> virtualização hospedada, o monitor é instaladosobre um sistema operacional hospe<strong>de</strong>iro, e suas máquinasvirtuais são executadas sobre essa camada <strong>de</strong> software oferecida.Um exemplo <strong>de</strong> MMV que utiliza esse mo<strong>de</strong>lo <strong>de</strong>implementação é o sistema VMware [16].Em sistemas <strong>de</strong> virtualização clássica, o monitor <strong>de</strong>máquinas virtuais é uma camada instalada diretamente sobreo hardware, permitindo que a execução do monitorocorra com o mais alto nível <strong>de</strong> privilégio. Destaforma, as interrupções e chamadas <strong>de</strong> sistema solicitadaspelos sistemas operacionais virtualizados po<strong>de</strong>m serinterceptadas e manipuladas pelo monitor. Este mo<strong>de</strong>lo<strong>de</strong> implementação, tipicamente utilizado em mainframes,apresenta uma limitação perante aos computadores atuaisque utilizam arquiteturas semelhantes à IA-32, on<strong>de</strong> um sistemaoperacional, embora virtualizado, ainda consegue executarinstruções em um nível <strong>de</strong> maior privilégio.Para contornar esta limitação na abordagem <strong>de</strong>virtualização clássica, sistemas como Denali [17] e Xen [3]utilizam uma técnica conhecida como paravirtualização,on<strong>de</strong> a interface apresentada às máquinas virtuais difere ligeiramenteda interface real da arquitetura subjacente. Estaabordagem requer uma adaptação do sistema operacionalvirtualizado, particularmente para lidar com instruções queexecutariam com maior privilégio.3. Visão geral <strong>de</strong> XenXen [3] é um MMV <strong>de</strong> código aberto, com suporte aarquiteturas das famílias IA-32, AMD64 e EM64T, e quepermite usar Linux ou NetBSD como sistemas operacionaishospe<strong>de</strong>iros. Nestas arquiteturas, Xen utiliza a técnica<strong>de</strong> paravirtualização mencionada na seção anterior, permitindoa execução <strong>de</strong> múltiplos sistemas operacionais emum mesmo computador hospe<strong>de</strong>iro. Embora os sistemasoperacionais virtualizados precisem ser modificados parafuncionar sobre Xen, esta abordagem é eficiente e não requermodificações em aplicações que executam sobre asmáquinas virtuais. A virtualização oferecida através <strong>de</strong> Xenresulta em uma máquina virtual in<strong>de</strong>pen<strong>de</strong>nte do hardwareexistente, que po<strong>de</strong> ser encapsulada e migrada entre computadoresinterligados em re<strong>de</strong>. O restante <strong>de</strong>sta seção apresentaa arquitetura <strong>de</strong> Xen e suas ferramentas auxiliares,além <strong>de</strong> <strong>de</strong>screver o mecanismo <strong>de</strong> migração suportado poreste MMV.3.1. Arquitetura e ferramentasA arquitetura <strong>de</strong> Xen distingue dois elementos principais:o monitor <strong>de</strong> máquinas virtuais propriamente dito(também chamado hypervisor) e as máquinas virtuais queexecutam sobre o monitor (chamadas <strong>de</strong> domínios Xen). Omonitor tem acesso direto ao hardware e executa no modo<strong>de</strong> maior privilégio do processador, enquanto as máquinasvirtuais são impedidas <strong>de</strong> executar diretamente as instruçõesem modo privilegiado. Nesta arquitetura, um domínioespecial (chamado Domain0) é responsável pela criação,terminação e migração dos <strong>de</strong>mais domínios hospedados.Para isso, este domínio tem acesso a uma interface <strong>de</strong> controleoferecida pelo monitor.A interface oferecida pelo MMV inclui chamadas queos domínios hospedados <strong>de</strong>vem utilizar para execução <strong>de</strong>instruções e operações privilegiadas. Além disso, tem-seum mecanismo para notificação <strong>de</strong> eventos às máquinas virtuaise um mecanismo para transferência <strong>de</strong> mensagens <strong>de</strong>entrada e saída entre máquinas virtuais.Para virtualizar a memória física, o MMV particiona(reserva) estaticamente a memória entre os domínios, provendoassim um forte isolamento entre eles. Um domíniotambém po<strong>de</strong> convenientemente liberar memória para economizarrecursos, reduzindo assim sua reserva <strong>de</strong> memóriae <strong>de</strong>volvendo-a para Xen.O acesso à memória por parte dos domínios não sofreuma penalida<strong>de</strong> tão elevada como em outras técnicas<strong>de</strong> virtualização, como por exemplo a utilizada emVMware [16], que se utiliza <strong>de</strong> tabelas <strong>de</strong> páginas virtuais,invisíveis ao gerenciador <strong>de</strong> memória. Ao invés <strong>de</strong>virtualizar as tabelas <strong>de</strong> páginas, o MMV permite a todosos domínios o acesso somente <strong>de</strong> leitura ao gerenciador

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!