Tecnologias WEB Virtualização de Sistemas Prof. José Maurício S. Pinheiro – UniFOA – 2009-2 Conceitos Virtualização pode ser definida como “técnica que combina ou divide recursos computacionais para prover um ou mais ambientes operacionais de execução”. Os ambientes criados através dessa técnica são chamados máquinas virtuais. Conceitos Simulação: quando utilizado em TI significa imitar um processo ou uma operação do mundo real; Emulação: mais uma vez este termo quando aplicado em TI significa reproduzir as funções de um determinado ambiente. Um exemplo fácil de assimilar são os emuladores de fliperama ou videogames antigos; Virtualização: abstrair as características físicas de uma maquina. Conceitos Outra Definição: “Técnica para mascarar as características físicas dos recursos do computador de forma que outros sistemas, aplicações ou usuários finais possam interagir com tais recursos”. Conceitos Virtualização é um recurso de software que permite a execução de forma virtual de um ou mais sistemas operacionais em apenas uma máquina física, que por sua vez já possui um sistema operacional nativo instalado. Conceitos Máquina Real e Máquinas Virtuais Uma máquina real é um conjunto de componentes físicos que fornecem operações para os níveis de abstração dos Sistemas Operacionais. Uma máquina virtual é a imitação, por software, de uma máquina real. Máquina Real e Máquinas Virtuais As imitações virtuais podem ser criadas no nível de aplicação ou no nível de sistema operacional. Máquina Real e Máquinas Virtuais A virtualização faz com que todos os recursos da máquina sejam compartilhados entre os usuários sem que eles saibam disso. Camada de Virtualização A camada de virtualização ou hypervisor encontra-se residente acima do hardware físico e abaixo das máquinas virtuais e é o responsável por fornecer recursos da máquina física para as máquinas virtuais. Camada de Virtualização O hypervisor, também conhecido como Virtual Machine Monitor VMM Tipo I, é uma plataforma de virtualização baseado em software que permite a execução de múltiplos sistemas operacionais em um computador host. Camada de Virtualização Cada sistema operacional possui seus próprios recursos, contudo, o VMM é quem controla os processos e recursos do host, alocando o necessário para cada sistema operacional (virtual) que roda sobre ele fazendo cada um trabalhar de forma independente um do outro. VMM – Virtual Machine Monitor O VMM é responsável por monitorar e forçar as políticas sobre máquinas virtuais para as quais este é responsável. A principal função da VMM é manter um histórico de tudo o que acontece dentro de uma máquina virtual e, se necessário, prover recursos, redirecionar ou negar acesso a recursos para essas máquinas. VMM – Virtual Machine Monitor O VMM é responsável por monitorar e forçar as políticas sobre máquinas virtuais para as quais este é responsável. A principal função da VMM é manter um histórico de tudo o que acontece dentro de uma máquina virtual e, se necessário, prover recursos, redirecionar ou negar acesso a recursos para essas máquinas. Classificações Na arquitetura x86, os sistemas operacionais foram escritos para rodar diretamente sobre o hardware, assumindo completo controle do hardware do computador para si. Nessa arquitetura são oferecidos 4 níveis de privilégios de acesso para operações de sistemas e acesso das aplicações ao hardware. Classificações • Os níveis são conhecidos como Ring 0, 1, 2 e 3. • Aplicações de usuários tipicamente em Ring 3. (user level) rodam • O sistema operacional por sua vez precisa ter acesso direto à memória e ao hardware e necessita executar as instruções em nível privilegiado, nível 0. Classificações A arquitetura x86 requer que a camada de virtualização esteja presente nos níveis mais privilegiados de execução e o sistema operacional espera estar em Ring 0 para criar e gerenciar os recursos oferecidos às máquinas virtuais. Classificações Quanto à Arquitetura: Tipo I Tipo II Híbrida Classificações VMM Tipo I ou nativo, bare-metal Sistema de software que roda diretamente sobre o hardware do host controlando-o e monitorando as máquinas virtuais, sem a necessidade de um sistema operacional hosteando. Ex. virtualização presente no mainframe, VMware ESX, Citrix XenServer e Hyper-V da Microsoft. Classificações Arquitetura Tipo I - o Monitor de Máquina Virtual é implementado diretamente sobre o hardware hospedeiro Classificações VMM Tipo II ou hosted Roda no todo do sistema operacional host como aplicações. Monitoram as máquinas virtuais e redirecionam as requisições para os recursos apropriados usando API’s do ambiente host, aumentando o processamento. Ex. JavaVM e ambientes .Net. Classificações Arquitetura Tipo II - implementação do Monitor de Máquina Virtual sobre o sistema operacional instalado no hardware anfitrião e opera como um processo desse sistema operacional. Classificações Arquitetura Híbrida Essa camada é provida pelo sistema operacional hospedeiro que o faz roteamento dos acessos feitos aos recursos de hardware. Contudo, essas aplicações rodam em nível 0, bem próximas do kernel destes sistemas operacionais. Ex. Virtual PC, VMware Server, VirtualBox Classificações Arquitetura Híbrida - Podem ser agregadas características da arquitetura tipo I à arquitetura tipo II ou o contrário. Classificações Quanto à Técnica: Completa Paravirtualização Recompilação Dinâmica Classificações Completa: o hardware hospedeiro é abstraído e todas as características de um equipamento virtual são emulados (todas as instruções solicitadas pelo sistema convidado são interpretados no Monitor de Máquina Virtual). Classificações Virtualização Completa Classificações Paravirtualização: a máquina virtual não é idêntica ao equipamento físico original, para que o sistema hospedado possa enviar as instruções mais simples diretamente para o hardware, restando apenas as instruções de nível mais alto para serem interpretadas pelo Monitor de Máquina Virtual. Classificações Paravirtualização Classificações Recompilação Dinâmica: as instruções são traduzidas durante a execução do programa. Obrigado!! Prof. José Maurício S. Pinheiro www.projetoderedes.com.br [email protected]