Sistemas tradicionais:
Multiprogramaçã
o
Sistemas tradicionais:
Multiprogramação
 Sistemas tradicionais: Multiprogramação

Simulador de um ambiente operacional
no qual cada aplicação possui um
processador

Sistemas operacionais
multiprogramados

Criação da abstração de processo

Cada processo possui a disposição uma
máquina virtual de alto nível

Suporte do hardware:
 Controlador / temporizador
 Modos de operação do processador
(usuário/supervisor)
Núcleo do
sistema operacional
Sistemas tradicionais:
Multiprogramação
Processo
Bibliotecas
Dispositivos e
interfaces de comunicação
Controladores de
dispositivos
Processador, MMU
e memória
Drivers de dispositivos
Interface de hardware (ISA - Instruction Set Architecture)
Hardware
Interface de
chamadas ao sistema
Processo
Bibliotecas
Processo
Bibliotecas
Modo
usuário
Modo
Supervisor
Aplicação Aplicação Aplicação
Sistemas tradicionais:
Multiprogramação
Processo
Dispositivos e
interfaces de comunicação
Hardware
HAL
Controladores de
dispositivos
Processador, MMU
e memória
Chamada API
Biblioteca
Chamada ao sistema (TRAP)
Núcleo do
sistema operacional
Drivers de
dispositivos
Instruções do processador
e acesso à memória
Acesso aos registradores
do controlador
Virtualização
Virtualização
 Virtualização
 “Virtualização é um arcabouço ou
metodologia de divisão de recursos de
um computador em múltiplos ambientes
de execução, através da aplicação de uma
ou mais técnicas como particionamento
de software e hardware, time-sharing,
simulação parcial ou completa de
máquina, emulação, qualidade de serviço
e muitas outras”.

SINGH [5]
Virtualização - Motivação
• Infraestrutura de computação -
2000
– 1 PC → 1 SO → Vários Aplicativos
– Utilização Baixa → < 25%
X86
Windows
XP
X86
Windows
2003
X86
Suse
X86
Red Hat
12% Hardware
Utilization
15% Hardware
Utilization
18% Hardware
Utilization
10% Hardware
Utilization
App App App App App App App App
Virtualização - Desafios
• Baixa utilização da Infraestrutura
• Aumento do Custo da Infraestrutura
física
• Aumento do Custo em gerenciamento
• Baixa proteção a falhas e desastres
Virtualização - Desafios
• Cada aplicação roda em seu SO
• Cada SO não sabe que
compartilha recursos com outros
SO's
X86 Multi-Core, Multi Processor
70% Hardware Utilization
App. A App. B App. C App. D
X86 X86 X86 X86
Windows Windows Suse Red Hat
10 2003 Linux Linux
Virtualização
 A virtualização pode ocorrer em diferentes níveis:
 Nível da linguagem de programação

Interpretação de uma linguagem ou instruções
virtuais
 Nível de biblioteca

User level API

Nível do sistema operacional

Chamadas ao sistema (system calls)

Nível de abstração de hardware

HAL (Hardware Abstraction Layer)

Nível do conjunto de instruções

ISA (Instruction Set
Architecture)
Virtualização de hardware
Virtualização de hardware
 Virtualização ao nível de Hardware Abstraction Layer (HAL)
 Disponibiliza uma máquina virtual que corresponde a:
 Instruction Set Architecture (ISA) +
 Virtualização dos dispositivos, processador e memória
 Características
 Host hospede e hospedeiro utilizam o mesma ISA
(Instruction Set Architecture)
 Técnica utilizada
 Mapeamento recursos virtuais sobre os recursos físicos
 Máquina virtual:

Processamento (aplicações e sistema operacional ) é
realizado diretamente sobre o processador físico

Instruções privilegiadas: são tratadas pelo sistema de
virtualização

Acesso a dispositivos: intermediado pelo sistema de
virtualização
Virtualização de hardware
Processo
Dispositivos e
interfaces de comunicação
Controladores de
dispositivos
Hardware
Processador, MMU
e memória
Interface de
chamadas ao sistema
Interface de hardware
(ISA-Instruction Set Architecture)
Modo
Usuário
Modo
Supervisor
Núcleo do sistema
operacional hospedeiro
Drivers de dispositivos
HAL
Núcleo do
sistema operacional hospede
Drivers de
dispositivos
HAL (Maquina Virtual)
Monitor de
Maq. Virtual
(hipervisor)
Virtualização de hardware
 Tipos de sistemas de virtualização

Hosted

A virtualização é realizada com o auxílio de
um sistema operacional hospedeiro

Stand alone (ou Bare Metal)

A virtualização é realizada sem auxílio de
um sistema operacional hospedeiro
Virtualização de hardware
 Sistema
tipo
hosted
Dispositivos e
interfaces de comunicação
Hardware
Controladores de
dispositivos
Processador, MMU
e memória
Sistema operacional
hospedeiro
Interface de hardware
(ISA-Instruction Set Architecture)
Aplicação Aplicação Aplicação Aplicação
Sistema operacional
hospede
Sistema operacional
hospede
HAL (Máquina virtual) HAL (Máquina virtual)
Monitor de maquina virtual
(hipervisor)
Virtualização de hardware
 Sistema tipo
Stand Alone
(ou Bare
Metal)
Aplicação Aplicação
Sistema operacional
hospede
Dispositivos e
interfaces de comunicação
Controladores de
dispositivos
Processador, MMU
e memória
Monitor da máquina virtual
(hipervisor)
Interface de hardware
(ISA-Instruction Set Architecture)
Hardware
Aplicação Aplicação
Sistema operacional
hospede
HAL (Máquina virtual) HAL (Máquina virtual)
Virtualização de hardware
 Vantagens
 Pouca sobrecarga (rápido)
 Isolamento e independência dos hosts hospedes
 Possibilidade de utilização de diferentes sistemas
operacionais nos hosts hospedes
 Motivações para virtualização
 Consolidação de servidores
 Ambientes de teste e homologação de sistemas
 Depuração de aplicações complexas e do sistema
operacional
 Migração de sistemas
 Exemplos
 VMware
 Xen
 Virtual
Box
 Micros
oft
Sistemas de
virtuali
zação
de
servidor
es
Sistemas de
virtualização de servidores
 Utilizam a técnica de virtualização HAL
 Requisitos desejáveis

Sistema de armazenamento compartilhado
(storage)
 Funcionalidades adicionais

Virtualização de componentes de rede
 Exemplos

VMware
 Xen

Virtual
Box
 Micros
oft
Sistemas de
virtualização de servidores
 Principais motivações para virtualização

Consolidação de servidores

Agrupar vários servidores virtuais em um conjunto
reduzido de servidores físicos.

Consolidação de aplicações

Ambientes de teste e homologação de sistemas

Execução de aplicações que utilizam
diferentes sistemas operacionais
 Migração de sistemas
 Provisionamento de servidores
 Recuperação de desastres
Sistemas de
virtualização de servidores
 Terminologia
 Sistema operacional hospede e hospedeiro

Tipos de virtualização HAL

Virtualização total

Paravirtualização

Máquina Virtual (MV)

Hypervisor ou monitor de máquina virtual
(MMV)
Sistemas de
virtualização de servidores
 Sistema operacional hospede
 Sistema operacional que executa sobre uma
máquina virtual
 Sistema operacional hospedeiro

Sistema operacional que executa diretamente
sobre a máquina real

Utilizado como infra-estrutura para criação
das máquinas virtuais
Sistemas de
virtualização de servidores
 Virtualização total

A virtualização ocorre sem a inclusão de
otimizações ao Sistema Operacional para
virtualização
 Gera certa quantidade de sobrecarga pois o
Monitor de Máquina virtual deve oferecer à
Máquina Virtual uma imagem semelhante a um
sistema real, incluindo:

BIOS virtual

Espaço de memória virtual

Gerenciamento de memória virtual

Dispositivos virtuais
Sistemas de
virtualização de servidores
 Para-virtualização

Técnica de virtualização onde o sistema
operacional hospede é modificado para otimizar
o desempenho.

A máquina virtual HAL é similar, porém não
idêntica àquela do hardware real.

Aumenta o desempenho da execução na
máquina virtual
Sistemas de
virtualização de servidores
 Máquina Virtual (ou Domínio)
 Ambiente que é virtualizado,
correspondendo ao sistema operacional e
aplicações deste sistema operacional
 Monitor de Máquina Virtual (Hypervisor)
 Responsável pelas atividades de gerenciamento
dos recursos da máquina virtual
VirtualBox
VirtualBox
 Adquirido pela Oracle em 2010.
 Oracle VM VirtualBox é um sistema de virtualização tipo
hosted (hosted hypervisor) livre e de código aberto (open-
source) para arquiteturas x86.
 Pode ser instalado em sistemas operacionais Windows,
macOS, Linux, dentre outros sistemas.
 Suporta a criação e gerenciamento de máquinas virtuais
hospedes executando os sistemas Windows, Linux, BSD,
dentre outros sistemas.
 Para alguns sistemas operacionais hospedes, para melhoria
do desempenho, fornece um pacote de device drivers
denominado"Guest Additions“.
VirtualBox
 Arquitetura:

Virtualização de hardware
hosted
VirtualBox
 Arquitetur
a
hosted
Dispositivos e
interfaces de comunicação
Hardware
Controladores de
dispositivos
Processador, MMU
e memória
Sistema operacional
hospedeiro
Interface de hardware
(ISA-Instruction Set Architecture)
Aplicação Aplicação
Sistema operacional
hospede
Aplicação Aplicação
Sistema operacional
hospede
HAL (Máquina virtual) HAL (Máquina virtual)
VirtualBox Desktop
(hipervisor)
Windows
VirtualBox
 Virtualização de
Linux Fedora sobre
Windows
Aplicação
Dispositivos e
interfaces de comunicação
Controladores de
dispositivos
Processador, MMU
e memória
Interface de hardware
(ISA-Instruction Set Architecture)
Hardware
Aplicação
Linux Fedora
HAL (Máquina virtual)
VirtualBox Desktop
(hipervisor)

ARA0091 - SISTEMAS OPERACIONAIS - AULA VirtualBox.pptx

  • 1.
  • 2.
    Sistemas tradicionais: Multiprogramação  Sistemastradicionais: Multiprogramação  Simulador de um ambiente operacional no qual cada aplicação possui um processador  Sistemas operacionais multiprogramados  Criação da abstração de processo  Cada processo possui a disposição uma máquina virtual de alto nível  Suporte do hardware:  Controlador / temporizador  Modos de operação do processador (usuário/supervisor)
  • 3.
    Núcleo do sistema operacional Sistemastradicionais: Multiprogramação Processo Bibliotecas Dispositivos e interfaces de comunicação Controladores de dispositivos Processador, MMU e memória Drivers de dispositivos Interface de hardware (ISA - Instruction Set Architecture) Hardware Interface de chamadas ao sistema Processo Bibliotecas Processo Bibliotecas Modo usuário Modo Supervisor Aplicação Aplicação Aplicação
  • 4.
    Sistemas tradicionais: Multiprogramação Processo Dispositivos e interfacesde comunicação Hardware HAL Controladores de dispositivos Processador, MMU e memória Chamada API Biblioteca Chamada ao sistema (TRAP) Núcleo do sistema operacional Drivers de dispositivos Instruções do processador e acesso à memória Acesso aos registradores do controlador
  • 5.
  • 6.
    Virtualização  Virtualização  “Virtualizaçãoé um arcabouço ou metodologia de divisão de recursos de um computador em múltiplos ambientes de execução, através da aplicação de uma ou mais técnicas como particionamento de software e hardware, time-sharing, simulação parcial ou completa de máquina, emulação, qualidade de serviço e muitas outras”.  SINGH [5]
  • 7.
    Virtualização - Motivação •Infraestrutura de computação - 2000 – 1 PC → 1 SO → Vários Aplicativos – Utilização Baixa → < 25% X86 Windows XP X86 Windows 2003 X86 Suse X86 Red Hat 12% Hardware Utilization 15% Hardware Utilization 18% Hardware Utilization 10% Hardware Utilization App App App App App App App App
  • 8.
    Virtualização - Desafios •Baixa utilização da Infraestrutura • Aumento do Custo da Infraestrutura física • Aumento do Custo em gerenciamento • Baixa proteção a falhas e desastres
  • 9.
    Virtualização - Desafios •Cada aplicação roda em seu SO • Cada SO não sabe que compartilha recursos com outros SO's X86 Multi-Core, Multi Processor 70% Hardware Utilization App. A App. B App. C App. D X86 X86 X86 X86 Windows Windows Suse Red Hat 10 2003 Linux Linux
  • 10.
    Virtualização  A virtualizaçãopode ocorrer em diferentes níveis:  Nível da linguagem de programação  Interpretação de uma linguagem ou instruções virtuais  Nível de biblioteca  User level API  Nível do sistema operacional  Chamadas ao sistema (system calls)  Nível de abstração de hardware  HAL (Hardware Abstraction Layer)  Nível do conjunto de instruções  ISA (Instruction Set Architecture)
  • 11.
  • 12.
    Virtualização de hardware Virtualização ao nível de Hardware Abstraction Layer (HAL)  Disponibiliza uma máquina virtual que corresponde a:  Instruction Set Architecture (ISA) +  Virtualização dos dispositivos, processador e memória  Características  Host hospede e hospedeiro utilizam o mesma ISA (Instruction Set Architecture)  Técnica utilizada  Mapeamento recursos virtuais sobre os recursos físicos  Máquina virtual:  Processamento (aplicações e sistema operacional ) é realizado diretamente sobre o processador físico  Instruções privilegiadas: são tratadas pelo sistema de virtualização  Acesso a dispositivos: intermediado pelo sistema de virtualização
  • 13.
    Virtualização de hardware Processo Dispositivose interfaces de comunicação Controladores de dispositivos Hardware Processador, MMU e memória Interface de chamadas ao sistema Interface de hardware (ISA-Instruction Set Architecture) Modo Usuário Modo Supervisor Núcleo do sistema operacional hospedeiro Drivers de dispositivos HAL Núcleo do sistema operacional hospede Drivers de dispositivos HAL (Maquina Virtual) Monitor de Maq. Virtual (hipervisor)
  • 14.
    Virtualização de hardware Tipos de sistemas de virtualização  Hosted  A virtualização é realizada com o auxílio de um sistema operacional hospedeiro  Stand alone (ou Bare Metal)  A virtualização é realizada sem auxílio de um sistema operacional hospedeiro
  • 15.
    Virtualização de hardware Sistema tipo hosted Dispositivos e interfaces de comunicação Hardware Controladores de dispositivos Processador, MMU e memória Sistema operacional hospedeiro Interface de hardware (ISA-Instruction Set Architecture) Aplicação Aplicação Aplicação Aplicação Sistema operacional hospede Sistema operacional hospede HAL (Máquina virtual) HAL (Máquina virtual) Monitor de maquina virtual (hipervisor)
  • 16.
    Virtualização de hardware Sistema tipo Stand Alone (ou Bare Metal) Aplicação Aplicação Sistema operacional hospede Dispositivos e interfaces de comunicação Controladores de dispositivos Processador, MMU e memória Monitor da máquina virtual (hipervisor) Interface de hardware (ISA-Instruction Set Architecture) Hardware Aplicação Aplicação Sistema operacional hospede HAL (Máquina virtual) HAL (Máquina virtual)
  • 17.
    Virtualização de hardware Vantagens  Pouca sobrecarga (rápido)  Isolamento e independência dos hosts hospedes  Possibilidade de utilização de diferentes sistemas operacionais nos hosts hospedes  Motivações para virtualização  Consolidação de servidores  Ambientes de teste e homologação de sistemas  Depuração de aplicações complexas e do sistema operacional  Migração de sistemas  Exemplos  VMware  Xen  Virtual Box  Micros oft
  • 18.
  • 19.
    Sistemas de virtualização deservidores  Utilizam a técnica de virtualização HAL  Requisitos desejáveis  Sistema de armazenamento compartilhado (storage)  Funcionalidades adicionais  Virtualização de componentes de rede  Exemplos  VMware  Xen  Virtual Box  Micros oft
  • 20.
    Sistemas de virtualização deservidores  Principais motivações para virtualização  Consolidação de servidores  Agrupar vários servidores virtuais em um conjunto reduzido de servidores físicos.  Consolidação de aplicações  Ambientes de teste e homologação de sistemas  Execução de aplicações que utilizam diferentes sistemas operacionais  Migração de sistemas  Provisionamento de servidores  Recuperação de desastres
  • 21.
    Sistemas de virtualização deservidores  Terminologia  Sistema operacional hospede e hospedeiro  Tipos de virtualização HAL  Virtualização total  Paravirtualização  Máquina Virtual (MV)  Hypervisor ou monitor de máquina virtual (MMV)
  • 22.
    Sistemas de virtualização deservidores  Sistema operacional hospede  Sistema operacional que executa sobre uma máquina virtual  Sistema operacional hospedeiro  Sistema operacional que executa diretamente sobre a máquina real  Utilizado como infra-estrutura para criação das máquinas virtuais
  • 23.
    Sistemas de virtualização deservidores  Virtualização total  A virtualização ocorre sem a inclusão de otimizações ao Sistema Operacional para virtualização  Gera certa quantidade de sobrecarga pois o Monitor de Máquina virtual deve oferecer à Máquina Virtual uma imagem semelhante a um sistema real, incluindo:  BIOS virtual  Espaço de memória virtual  Gerenciamento de memória virtual  Dispositivos virtuais
  • 24.
    Sistemas de virtualização deservidores  Para-virtualização  Técnica de virtualização onde o sistema operacional hospede é modificado para otimizar o desempenho.  A máquina virtual HAL é similar, porém não idêntica àquela do hardware real.  Aumenta o desempenho da execução na máquina virtual
  • 25.
    Sistemas de virtualização deservidores  Máquina Virtual (ou Domínio)  Ambiente que é virtualizado, correspondendo ao sistema operacional e aplicações deste sistema operacional  Monitor de Máquina Virtual (Hypervisor)  Responsável pelas atividades de gerenciamento dos recursos da máquina virtual
  • 26.
  • 27.
    VirtualBox  Adquirido pelaOracle em 2010.  Oracle VM VirtualBox é um sistema de virtualização tipo hosted (hosted hypervisor) livre e de código aberto (open- source) para arquiteturas x86.  Pode ser instalado em sistemas operacionais Windows, macOS, Linux, dentre outros sistemas.  Suporta a criação e gerenciamento de máquinas virtuais hospedes executando os sistemas Windows, Linux, BSD, dentre outros sistemas.  Para alguns sistemas operacionais hospedes, para melhoria do desempenho, fornece um pacote de device drivers denominado"Guest Additions“.
  • 28.
  • 29.
    VirtualBox  Arquitetur a hosted Dispositivos e interfacesde comunicação Hardware Controladores de dispositivos Processador, MMU e memória Sistema operacional hospedeiro Interface de hardware (ISA-Instruction Set Architecture) Aplicação Aplicação Sistema operacional hospede Aplicação Aplicação Sistema operacional hospede HAL (Máquina virtual) HAL (Máquina virtual) VirtualBox Desktop (hipervisor)
  • 30.
    Windows VirtualBox  Virtualização de LinuxFedora sobre Windows Aplicação Dispositivos e interfaces de comunicação Controladores de dispositivos Processador, MMU e memória Interface de hardware (ISA-Instruction Set Architecture) Hardware Aplicação Linux Fedora HAL (Máquina virtual) VirtualBox Desktop (hipervisor)