M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de...
Transcript of M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de...
![Page 1: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/1.jpg)
MÁQUINAS VIRTUAIS E EMULADORESPablo Viana
![Page 2: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/2.jpg)
SISTEMAS DE COMPUTADORES
Os sistemas de computadores são projetados com basicamente 3 componentes: hardwaresistema operacional aplicações
![Page 3: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/3.jpg)
SISTEMAS DE COMPUTADORES
Aplicações
Hardware
Sistema Operacional
![Page 4: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/4.jpg)
PLATAFORMAS DIFERENTES
Power PC
MacOS
Aplicações MacIntosh
x86 x86
Windows Linux
Aplicações Windows Aplicações Linux
![Page 5: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/5.jpg)
INCOMPATIBILIDADE
MacOS
Aplicações MacIntosh
x86 x86
Linux
Aplicações Windows
![Page 6: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/6.jpg)
MÁQUINA VIRTUAL
Cria uma “camada” para compatibilizar diferentes plataformas
Esta “camada” é chamada de virtualização Softwares que podem ser
utilizados para fazer os recursos parecerem diferentes do que realmente são.
![Page 7: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/7.jpg)
DEFINIÇÃO DE MÁQUINA VIRTUAL
“Uma duplicata eficiente e isolada de uma máquina real”
A IBM define uma máquina virtual como uma cópia totalmente protegida e isolada de um sistema físico
Na década de 60, uma abstração de software que enxerga um sistema físico (máquina real)
![Page 8: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/8.jpg)
MÁQUINA VIRTUAL
Sistema Operacional
Aplicações
Hardware
Máquina Virtual “Camada” de compatibilidade
![Page 9: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/9.jpg)
MÁQUINA VIRTUAL
Processador
Disquete
Disco
Periférico
Sistema Operacional
Aplicações Máquina Virtual Aplicações
Linux Windows Windows
Camada de hardware físico
Software
Camada de hardware virtual
Aplicações Aplicações Aplicações
![Page 10: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/10.jpg)
EMULADOR
É o oposto da máquina real;Implementa todas as instruções
realizadas pela máquina real em um ambiente abstrato de software
“Engana”, fazendo com que todas as operações da máquina real sejam implementadas em um software
Interpreta um código desenvolvido para outra plataforma.
![Page 11: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/11.jpg)
EMULADOR E MÁQUINA VIRTUAL
A funcionalidade e o nível de abstração de uma máquina virtual encontra-se em uma posição intermediária entre uma máquina real e um emulador, na forma em que os recursos de hardware e de controle são abstraídos e usados pelas aplicações.
![Page 12: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/12.jpg)
MÁQUINA VIRTUAL
É um ambiente criado por um monitor de máquina virtual;
![Page 13: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/13.jpg)
VIRTUAL MACHINE MONITOR – VMM
Sistema operacional para sistemas operacionais;
Também conhecida como hypervisor;
O monitor pode criar uma ou mais máquinas virtuais sobre uma única máquina real.
![Page 14: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/14.jpg)
VMM E EMULADOR
Um emulador fornece uma camada de abstração completa entre o sistema em execução e o hardware;
Um monitor fornece uma interface (através da multiplexação do hardware) que é idêntica ao hardware subjacente e controla uma ou mais máquinas virtuais;
Um emulador também fornece uma abstração do hardware idêntico ao que está em uso, mas também pode simular outros diferentes do atual;
![Page 15: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/15.jpg)
ABSTRAÇÃO E VIRTUALIZAÇÃO
A abstração é uma forma simples de prover alguns recursos específicos de hardware para um software, enquanto a virtualização provê um conjunto completo de recursos.
![Page 16: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/16.jpg)
ABSTRAÇÃO E VIRTUALIZAÇÃO
Arquivo Arquivo
Software
Abstração
Arquivo Arquivo
Software Software
Virtualização
Software
![Page 17: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/17.jpg)
TIPOS DE EMULADORES(1ª CLASSIFICAÇÃO)
Firmware: Um firmware pode ser definido como Programação em hardware;
Software: Toda a emulação é feita por software;
Combinação ou “emulação combinada” ou “combo”: O emulador é composto de hardware e software;
![Page 18: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/18.jpg)
TIPOS DE EMULADORES(2ª CLASSIFICAÇÃO)
Totalmente baseada em hardware;
Parcialmente baseado em hardware;
Parcialmente baseada em software;
Totalmente baseada em software.
![Page 19: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/19.jpg)
TIPOS DE EMULADORESDE ACORDO COM USO
Emulação do processador;Emulação de um sistema operacional;
Emulação de uma plataforma de (hardware) específico;
Consoles de videogames.
![Page 20: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/20.jpg)
TIPOS DE MÁQUINAS VIRTUAIS
Tipo Io monitor é implementado
entre o hardware e os sistemas convidados (guest system)
Tipo IIo monitor é implementado
como um processo de um sistema operacional real subjacente, denominado sistema anfitrião (host system)
![Page 21: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/21.jpg)
TIPO I
Hardware
Monitor
Convidado
Aplicação
Convidado
Aplicação
![Page 22: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/22.jpg)
TIPO II
Hardware
Sistema anfitrião
Monitor
Sistema convidado
Aplicação Aplicação
Aplicação
![Page 23: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/23.jpg)
ABORDAGENS HÍBRIDAS
Os monitores de tipo I e II raramente são usados em sua forma conceitual em implementações reais;
Várias otimizações são inseridas com o objetivo principal de melhorar o desempenho das aplicações nos sistemas convidados
![Page 24: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/24.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO I
O sistema convidado (guest system) acessa diretamente o hardware.
Essa forma de acesso é implementada através de modificações no núcleo do sistema convidado e no monitor.
![Page 25: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/25.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO I
Hardware
Monitor
Sistema Convidado Sistema Convidado
Aplicação Aplicação
1 1
![Page 26: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/26.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II1ª ABORDAGEM
O sistema convidado (guest system) acessa diretamente o sistema anfitrião (host system).
Essa otimização é implementada pelo monitor, oferecendo partes da API do sistema anfitrião ao sistema convidado.
![Page 27: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/27.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II1ª ABORDAGEM
Hardware
Sistema Anfitrião
Aplicação Monitor
Sistema Convidado
Aplicação Aplicação
1
Aplicação
![Page 28: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/28.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II2ª ABORDAGEM
O sistema convidado (guest system) acessa diretamente o hardware.
Essa otimização é implementada parcialmente pelo monitor e parcialmente pelo sistema anfitrião, através de um device driver específico.
![Page 29: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/29.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II2ª ABORDAGEM
Hardware
Sistema Anfitrião
Aplicação Monitor
Sistema Convidado
Aplicação Aplicação
2
Aplicação
![Page 30: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/30.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II3ª ABORDAGEM
O monitor acessa diretamente o hardware.
Neste caso, um device driver específico é instalado no sistema anfitrião, oferecendo ao monitor uma interface de baixo nível para acesso ao hardware subjacente.
![Page 31: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/31.jpg)
OTIMIZAÇÕES EM MONITORES DE TIPO II3ª ABORDAGEM
Hardware
Sistema Anfitrião
Aplicação Monitor
Sistema Convidado
Aplicação Aplicação
3
Aplicação
![Page 32: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/32.jpg)
FORMAS DE VIRTUALIZAÇÃO
É a interposição do software (máquina virtual) em várias camadas do sistema.
É uma forma de dividir os recursos de um computador em múltiplos ambientes de execução.
![Page 33: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/33.jpg)
TIPOS DE VIRTUALIZAÇÃO
Virtualização do hardware
Virtualização do sistema operacional
Virtualização de linguagens de programação
![Page 34: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/34.jpg)
VIRTUALIZAÇÃO DO HARDWARE
Exporta o sistema físico como uma abstração do hardware;
Qualquer software escrito para a arquitetura (x86, por exemplo) irá funcionar.
![Page 35: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/35.jpg)
VIRTUALIZAÇÃO DO HARDWARE
cpu, ram, dispositivos de E/S - Real
Sistema Operacional (Linux, Windows, Unix)
Máquina Virtual
cpu, ram, dispositivos de E/S - Virtual
Sistema Operacional (Linux, Windows, Unix)
Aplicação Aplicação
![Page 36: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/36.jpg)
VIRTUALIZAÇÃO DO SISTEMA OPERACIONAL
Exporta um sistema operacional como abstração de um sistema específicico;
A máquina virtual roda aplicações – ou um conjunto de aplicações – de um sistema operacional específico.
![Page 37: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/37.jpg)
VIRTUALIZAÇÃO DO SISTEMA OPERACIONAL
cpu, ram, dispositivos de E/S - Real
Sistema Operacional (Linux, Windows, Unix)
Máquina Virtual
Aplicação Aplicação
Sistema Operacional (Linux, Windows, Unix) - Virtual
![Page 38: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/38.jpg)
VIRTUALIZAÇÃO DE LINGUAGENS DE PROGRAMAÇÃO
Cria uma aplicação no topo do sistema operacional;
São desenvolvidas para computadores fictícios projetados para uma finalidade específica;
A camada exporta uma abstração para a execução de programas escritos para esta virtualização.
![Page 39: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/39.jpg)
VIRTUALIZAÇÃO DE LINGUAGENS DE PROGRAMAÇÃO
cpu, ram, dispositivos de E/S - Real
Sistema Operacional (Linux, Windows, Unix)
Máquina Virtual
Aplicação
![Page 40: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/40.jpg)
PODER DA VIRTUALIZAÇÃO
O uso das máquinas virtuais e emuladores possibilitam:Executar um sistema operacional
(e suas aplicações) sobre outro;Utilizar uma aplicação de outra
plataforma operacional; Executar múltiplos sistemas
operacionais;Flexibilizar uma plataforma
complexa de trabalho.
![Page 41: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/41.jpg)
PODER DA VIRTUALIZAÇÃO
Hardware (x86)
Windows
VMware
Linux
User-Mode Linux
Java Virtual Machine
Aplicação Java
![Page 42: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/42.jpg)
PODER DA VIRTUALIZAÇÃO
Hardware (x86)
XEN
Windows Linux
VMware JVM
Aplicação FreeBSD Mac OS
UML
Aplicação Linux
JAIL Aplicação
Mac JAIL
Apl Apl
QEMU
Aplicação Windows
![Page 43: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/43.jpg)
OUTRA CLASSIFICAÇÃO PARA VIRTUALIZAÇÃO
Abstração do ISA (Instruction Set Architecture);
Hardware Abstraction Layer (HAL);OS Level (sistema operacional);Nível de aplicação ou virtualização de linguagens de programação;
User level library interface (biblioteca de interface para usuário).
![Page 44: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/44.jpg)
ABSTRAÇÃO DO ISA
É implementada através da emulação completa do ISA;
O emulador executa as instruções do sistema convidado através da tradução das instruções para o sistema nativo.
Esta arquitetura é simples para implementação e robusta, mas a perda de performance é significativa.
![Page 45: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/45.jpg)
HARDWARE ABSTRACTION LAYER
O monitor simula uma arquitetura completa para o sistema convidado;
O sistema convidado acredita estar executando sobre um sistema completo de hardware.
![Page 46: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/46.jpg)
OS LEVEL
Obtido através de uma chamada de sistema específica;
A virtualização é obtida para isolamento;
Cada sistema virtualizado com seu próprio endereço IP e outros recursos de hardware (embora limitado).
![Page 47: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/47.jpg)
NÍVEL DE APLICAÇÃO OU VIRTUALIZAÇÃO DE LINGUAGENS DE PROGRAMAÇÃO
É obtido através da abstração de uma “camada de execução”;
Uma aplicação utiliza esta camada para executar as instruções do programa;
Garante que uma aplicação pode ser executada em qualquer plataforma de software ou hardware, pois a camada é abstraída de forma idêntica em todas as plataformas;mas requer uma máquina virtual
específica para cada plataforma
![Page 48: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/48.jpg)
USER LEVEL LIBRARY INTERFACE
É obtida através da abstração do topo do sistema operacional para que as aplicações possam executar em outra plataforma.
API do Windows.
![Page 49: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/49.jpg)
TÉCNICAS DE VIRTUALIZAÇÃO E EMULAÇÃO
Virtualização total (full virtualization)
Paravirtualização (paravirtualization)
Re-compilação dinâmica (dynamic recompilation)
![Page 50: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/50.jpg)
VIRTUALIZAÇÃO TOTAL
Uma estrutura completa de hardware é virtualizado;
Sistema convidado não precisa sofrer qualquer tipo de alteração;
Grande compatibilidade;Perda de velocidade.
![Page 51: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/51.jpg)
VIRTUALIZAÇÃO TOTAL
Memória Real
0000 FFFF 00FF 0FFF
0000 000F
Espaço reservado pela máquina virtual para o sistema convidado.
Memória Virtual
![Page 52: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/52.jpg)
PARAVIRTUALIZAÇÃO
O sistema que vai ser virtualizado (sistema convidado) sofre modificações para que a interação com o monitor de máquinas virtuais seja mais eficiente;
Perda de compatibilidade;Ganho de velocidade.
![Page 53: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/53.jpg)
RE-COMPILAÇÃO DINÂMICA
1. Agrupamento de bits: Usando o conhecimento sobre o formato do executável e técnicas heurísticas, conjuntos de bits são recuperados do executável e re-ordenados;
2. Desmontagem (disassembling): Os bits são desmontados e transformados para um conjunto de instruções e operadores ordenados em pares;
![Page 54: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/54.jpg)
RE-COMPILAÇÃO DINÂMICA
É explorando informações que normalmente não estão disponíveis para um compilador estático tradicional.
![Page 55: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/55.jpg)
RE-COMPILAÇÃO DINÂMICA
3. Geração intermediária do código: As instruções são transformadas para uma representação de máquina independente;
4. Decompilação: A representação gerada é transformada em uma linguagem de alto nível (como o código na linguagem C);
![Page 56: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/56.jpg)
RE-COMPILAÇÃO DINÂMICA
5. Compilação: O código gerado é novamente compilado para a nova plataforma;
6. Montagem (assembling): Os códigos são novamente montados;
7. Armazenagem dos bits: Os bits são são agrupados de forma a gerar o novo executável.
![Page 57: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/57.jpg)
PROPRIEDADES DE MONITORES DE MÁQUINAS VIRTUAIS
IsolamentoInspeçãoInterposiçãoEficiênciaGerenciabilidadeCompatibilidade do softwareEncapsulamentoDesempenho
![Page 58: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/58.jpg)
ISOLAMENTO
Um software em execução em uma máquina virtual não acessa ou modifica outro software em execução no monitor ou em outra máquina virtual.
![Page 59: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/59.jpg)
INSPEÇÃO
O monitor tem acesso e controle sobre todas as informações do estado da máquina virtual, como estado da CPU, conteúdo de memória, eventos, etc.
![Page 60: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/60.jpg)
INTERPOSIÇÃO
O monitor pode intercalar ou acrescentar instruções em certas operações de uma máquina virtual, como por exemplo, quando da execução de instruções privilegiadas por parte da máquina virtual.
![Page 61: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/61.jpg)
EFICIÊNCIA
Instruções inofensivas podem ser executadas diretamente no hardware, pois não irão afetar outras máquinas virtuais ou aplicações.
![Page 62: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/62.jpg)
GERENCIABILIDADE
Como cada máquina virtual é uma entidade independente das demais, a administração das diversas instâncias é simplificada e centralizada.
![Page 63: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/63.jpg)
COMPATIBILIDADE DO SOFTWARE
A máquina virtual fornece uma abstração compatível de modo que todo o software escrito para ela funcione.
![Page 64: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/64.jpg)
ENCAPSULAMENTO
Esta camada pode ser usada para manipular e controlar a execução do software na máquina virtual.
Pode também usar esta ação indireta para dar prioridade ao software ou fornecer um ambiente melhor para execução.
![Page 65: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/65.jpg)
DESEMPENHO
Adicionar uma camada de software a um sistema pode afetar o desempenho do software que funciona na máquina virtual, mas os benefícios proporcionados pelo uso de sistemas virtuais compensam a perda de desempenho.
![Page 66: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/66.jpg)
BENEFÍCIOS AO UTILIZAR MÁQUINAS VIRTUAIS (1)
Facilitar o aperfeiçoamento e testes de novos sistemas operacionais;
Auxiliar no ensino prático de sistemas operacionais e programação ao permitir a execução de vários sistemas para comparação no mesmo equipamento;
![Page 67: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/67.jpg)
BENEFÍCIOS AO UTILIZAR MÁQUINAS VIRTUAIS (2)
Executar diferentes sistemas operacionais sobre o mesmo hardware, simultaneamente;
Simular configurações e situações diferentes do mundo real, como por exemplo, mais memória disponível ou a presença de outros dispositivos de E/S;
![Page 68: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/68.jpg)
BENEFÍCIOS AO UTILIZAR MÁQUINAS VIRTUAIS (3)
Simular alterações e falhas no hardware para testes ou re-configuração de um sistema operacional, provendo confiabilidade e escalabilidade para as aplicações;
Garantir a portabilidade das aplicações legadas (que executariam sobre uma máquina virtual simulando o sistema operacional original);
![Page 69: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/69.jpg)
BENEFÍCIOS AO UTILIZAR MÁQUINAS VIRTUAIS (4)
Desenvolvimento de novas aplicações para diversas plataformas, garantindo a portabilidade destas aplicações;
Diminuição de custos com hardware, através da consolidação de servidores;
![Page 70: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/70.jpg)
BENEFÍCIOS AO UTILIZAR MÁQUINAS VIRTUAIS (5)
Facilidades no gerenciamento, migração e replicação de computadores, aplicações ou sistemas operacionais;
Prover um serviço dedicado para um cliente específico com segurança e confiabilidade.
![Page 71: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/71.jpg)
DIFICULDADES PARA O USO DE MÁQUINAS VIRTUAIS
Processador não Virtualizado;
Diversidade de equipamentos;
Pré-existência de softwares.
![Page 72: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/72.jpg)
FUTURO – CPU
AMD e Intel anunciaram tecnologias (Pacifica e Vanderpool respectivamente) para que a virtualização sobre a plataforma x86 ocorra de formais mais natural e tranqüila.
![Page 73: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/73.jpg)
FUTURO – MEMÓRIA
Várias técnicas tem permitido que a virtualização da memória seja mais eficiente. Pesquisas futuras devem levar aos sistemas operacionais convidados a gerenciar a memória juntamente com o monitor de máquinas virtuais (gerência cooperativa).
![Page 74: M ÁQUINAS V IRTUAIS E E MULADORES Pablo Viana. S ISTEMAS DE C OMPUTADORES Os sistemas de computadores são projetados com basicamente 3 componentes: hardware.](https://reader036.fdocumentos.com/reader036/viewer/2022062512/552fc13b497959413d8d9bed/html5/thumbnails/74.jpg)
FUTURO – E/S
Os dispositivos de E/S serão projetados para fornecer suporte a virtualização através de devices de alta-performance. A responsabilidade pelo acesso aos dispositivos deverá passar do monitor para o sistema convidado.