Upload
wellington-oliveira
View
1.734
Download
9
Embed Size (px)
DESCRIPTION
Apresentação da aula de Virtualização
Citation preview
Sistemas Operacionais
Virtualização
Virtualização
• A virtualização é uma tecnologia que oferece uma camada de abstração dos verdadeiros recursos de uma máquina;
• As principais qualidades da virtualização são:
– o reaproveitamento de recursos;
– a portabilidade;
– a segurança.
Com a virtualização podemos
• Executar diferentes sistemas operacionais em um mesmo hardware simultaneamente.
• Executar um sistema operacional (e suas aplicações) como um processo de outro.
• Utilizar sistemas operacionais e aplicações escritas para uma plataforma em outra, além de outros usos que serão vistos a seguir.
Virtualização e Emulação
• Na Virtualização as instruções do sistema operacional numa maquina virtual a maior parte e repassada para a maquina real executar o que garante um desempenho com apenas uns 10% de perda de desempenho se estivesse em um maquina real.
Virtualização e Emulação
• Na emulação todas as instruções são executadas via software o que gera uma perda de desempenho muito grande , nesse caso a maquina emulada executa com apenas 5% a 10% do desempenho se estivesse em maquina real.
Representação dos componentes dos sistemas tradicionais
Monitor de Máquinas Virtuais
• O monitor de máquinas virtuais (VMM) é uma aplicação que implementa uma camada de virtualização, a qual permite que múltiplos sistemas operacionais funcionem sobre um mesmo hardware simultaneamente.
Monitor de Máquinas Virtuais
• As principais funções do monitor de máquinas virtuais são:
– Definir o ambiente de máquinas virtuais.
– Alterar o modo de execução do sistema operacional convidado de privilegiado para não privilegiado, e vice-versa.
– Emular as instruções e escalonar o uso da CPU para as máquinas virtuais.
Monitor de Máquinas Virtuais
– Gerenciar acesso aos blocos de memória e disco destinados ao funcionamento das máquinas virtuais.
– Intermediar as chamadas de sistema e controlar acesso a outros dispositivos como CD-ROM, drives de disquete, dispositivos de rede, dispositivos USB.
Monitor de Máquinas Virtuais
• Segundo Popek e Goldberg, um monitor de máquinas virtuais deve ter três características [POPEK e GOLDBERG] principais:
– Eficiência;
– Integridade;
– Equivalência.
Eficiência
• É extremamente importante que um grande número de instruções do processador virtual seja executada diretamente pelo processador real, sem que haja intervenção do monitor.
• As instruções que não puderem ser tratadas pelo processador real precisam ser tratadas pelo monitor.
Integridade
• todas as requisições aos recursos de hardware devem ser alocadas explicitamente pelo monitor (memória, processamento, etc.)
Equivalência
• O monitor deve prover um comportamento de execução semelhante ao da máquina real para o qual ele oferece suporte de virtualização, salvo haja a necessidade de se fazer alterações na disponibilidade de recursos da máquina.
Tipos de Máquinas Virtuais
• Para a construção de máquinas virtuais, existem duas abordagens:
Máquinas virtuais clássicas ou de Tipo I.
Máquinas virtuais hospedadas ou de Tipo II.
Tipo I
• Nesta abordagem o monitor de máquinas virtuais é implementado entre o hardware e os sistemas convidados.
Tipo I
Tipo II
• Nesta abordagem o monitor é implementado como um processo de um sistema operacional “real” (sistema anfitrião).
Tipo II
Hardware Abstraction Layer - HAL
• Nesta virtualização é utilizado um monitor de máquinas virtuais que simula um conjunto de recursos de hardware para os sistemas convidados.
OS Level
• Nessa técnica, a virtualização é obtida utilizando-se uma chamada de sistema específica, criando um ambiente idêntico ao sistema operacional anfitrião, cujo principal objetivo é o isolamento de processos.
Emulação completa
• A execução do sistema virtual é conseguida usando-se um software emulador, o qual simula o hardware do sistema para a execução do sistema convidado.
Nível de Aplicação
• Essa virtualização consiste no uso de uma máquina virtual como um componente-chave para execução de certas aplicações de uma forma protegida a outros processos em execução no sistema operacional.
Nível de Aplicação
Servidores Não Virtualizados
Servidores Virtualizados
Isolamento
• Com a virtualização, podemos isolar aplicações de alto risco de aplicações potencialmente vulneráveis.
• O isolamento eleva a proteção contra aplicações maliciosas, aumentando a dificuldade das mesmas acessarem dados, ou afetar processos que estejam executando em outras máquinas virtuais.
Tolerância à falhas
• A virtualização permite que uma aplicação em mau funcionamento executando em sua máquina virtual possa ser reiniciada rapidamente e de um modo seguro, sem afetar outras aplicações que estejam executando no mesmo sistema anfitrião.
Honeypots e Honeynets
• Um honeypot é um sistema ou aplicação que é colocado em uma rede de forma proposital para que seja comprometido ou “atacado”.
• Um honeypot age como uma ferramenta de estudos e testes de vulnerabilidades em uma rede ou aplicações, mas não é considerado uma ferramenta de segurança. Honeynet é uma rede composta de honeypots.