SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Virtualização de Máquinas
Uma experiência baseada em ferramentas livres




             Carlos A. M. dos Santos
 echo unixmania at gmail dot com | sed 's/ at /@/;s/ dot /./g'




        1º Seminário de Software Livre Tchelinux
             Pelotas, 24 de março de 2007
Sobre o Palestrante
●   Engenheiro agrícola* (UFPel, 1988)
●   Pesquisador bolsista (EMBRAPA, 1989-1993)
●   Programador e gerente de redes (CPMet/UFPel,
    provedores de serviços Internet, 1993-1999)
●   Mestre em Ciência da Computação, na área de
    Computação Gráfica (UFRGS, 1998-2000)
●   Professor de CG, programação e redes (URI, Santo
    Ângelo, 2001-2005)
●   Atualmente: HP Brasil (IPL)

* Acredite se quiser!
Ressalva

    As opiniões expostas aqui são do
 palestrante, apenas, e não representam
  políticas, processos ou estratégias de
              mercado da HP.

     As informações expostas aqui não
representam produtos, software ou serviços
          comercializados pela HP.
Temas Abordados
●   Teoria (não dói!)
    –   Instruction Set Architecture
    –   Definição formal de virtualização
    –   Tipos de virtualização
    –   Vantagens e desvantagens
●   Exemplo prático
    –   QEMU: diversos SOs rodando simultaneamente
Instruction Set Architecture*
●   Delimita a divisão entre hardware e software
●   Hardware: dispositivo caracterizado por
    –   um conjunto finito de estados válidos (registradores,
        memória)
    –   um conjunto finito de instruções executáveis válidas
●   Software: um conjunto cujos elementos são
    instruções válidas
●   A execução das instruções provoca transições de
    estados


* Doravante abreviada para ISA
e(Si )

                        Si                    Sj



Exemplo: a execução da intrução e muda o estado do
               hardware de Si para Sj




Referência: Smith, James E. & Nair, Ravi. Virtual Machines.
San Francisco: Morgan Kaufmann, 2005.
Virtualização
É a construção de um isomorfismo entre um sistema
        hóspede e um sistema hospedeiro*
                               e(Si )

                       Si                      Sj
                              hóspede
                  V(Si )                  V(Sj )
                               e'(S'i )


                       S'i                     S'j
                             hospedeiro


* Popek & Goldberg, 1974
Tipos de Virtualização
●   Em nível de processo
    –   O hóspede é um único processo de usuário
    –   A máquina virtual provê uma ABI* para o processo
●   Em nível de sistema
    –   Muitos processos de usuário podem coexistir
    –   A máquina virtual provê um ambiente completo




* Application Binary Interface
Virtualização em nível de processo
                  Processo                  Processo
  Hóspede         Aplicativo                Aplicativo




  Runtime        Software de
                 Virtualização
                                             Máquina
                                              Virtual

               Sistema
              Operacional
Hospedeiro

                  Hardware
Virtualização em nível de sistema
                  Processo                   Processo
                  Aplicativo                 Aplicativo

  Hóspede
               Sistema                    Sistema
              Operacional                Operacional



     VMM
                 Software de
                 Virtualização                Máquina
                                               Virtual


Hospedeiro        Hardware
Virtualização em Nível de Processo

●   Multiprogramação: SO roda processos concorrentes
●   Emulador/tradutor binário dinâmico: simula uma
    ISA (FX!32, Wine, PACE, QuickTransit/Rosetta)
●   Otimizador binário dinâmico: modifica código para
    melhor desempenho (HP Dynamo)
●   VM de linguagem de alto nível (p-Machine, Java)
●   Exceções/mistos
    –   FX32: recompilador dinâmico para a mesma ISA
    –   Jalapeño: VM Java que faz otimização binária
    –   FreeBSD Linux mode: vetor de serviços de sistema
    –   FreeBSD Jails: contexto isolado restrito (Verio VPS)
Exemplos de virtualização em nível de processo

Aplicação Windows (IA32)      Aplicação M68k
                               (Palm OS 4)     Aplicação ARM32
Windows NT                                       (Palm OS 5)
                              PACE (runtime)
  (Alpha)           Runtime
                                         Bibliotecas
 ISA Alpha (RISC, 64 Bits)
                                         Palm OS 5
           FX!32
                                DAL: Device Abstraction Layer
Aplicação Windows (IA32)
                              HAL: Hardware Abstraction Layer
  Runtime
    Unix                                 ISA ARM32

         ISA IA32
                              Palm OS Application Compatibility
Wine: Windows Emulator            Environment Palm OS 5
Virtualização em Nível de Sistema

●   VM clássica: hypervisor (VMM) gerencia o hardware
    e suporta múltiplos SOs (VM/370, VM/CMS, z/VM)
●   VM hóspede: roda em um SO (VMware, Virtual PC
    for Windows, QEMU Accelerator)
●   Sistema completo: emula um computador (QEMU,
    Virtual PC for Mac, POSE, dúzias!)
●   Codesign: semelhante a microcódigo, processador
    expõe uma ISA virtual (Crusoe, IBM AS/400)
●   Exceções/mistos
    –   Virtualização auxilida por hardware (VT-x, AMD-V)
    –   Xen: Paravirtualization (SO hóspede modificado)
Exemplos de virtualização em nível de sistema

Aplicação Linux (SPARC32)
    SPARC Linux
     QEMU (runtime)            VM1                     VM2
      FreeBSD               Aplicação             Aplicação
                              Linux                 z/OS
        ISA IA32
                            z/Linux                z/OS

Aplicação Windows (IA32)         Hypervisor (runtime)
  Windows XP (IA32)
QEMU (runtime)                        z/Architecture

    FreeBSD        Kqemu
                                          z/VM
        ISA IA32

         QEMU
Vantages e Desvantagens
        Vantagens                Desvantagens
●   Redução de custos      ●   Desempenho limitado
●   Segurança              ●   Emulação incompleta
●   Flexibilidade          ●   Necessidade de alterar
                               o hóspede (às vezes)




    Vantages e desvantagens sempre são relativas!
Exemplo Prático

QEMU: diversos SOs rodando simultaneamente



           Aplicação FreeBSD (IA32)
              FreeBSD (IA32)
           QEMU (runtime)
               Linux           Kqemu

                   ISA IA32
Dúvidas?
Obrigado pela atenção!

                         Contato
echo unixmania at gmail dot com | sed 's/ at /@/;s/ dot /./g'

Mais conteúdo relacionado

Destaque

Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen PersonalwirtschaftHuman Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen PersonalwirtschaftReinhard Austrup & Associates
 
Virtualizacion A La Orden
Virtualizacion A La OrdenVirtualizacion A La Orden
Virtualizacion A La OrdenMarlon Manrique
 
Dot Zsuriken 2009 par autoprestige-tuning.fr
Dot Zsuriken 2009 par autoprestige-tuning.frDot Zsuriken 2009 par autoprestige-tuning.fr
Dot Zsuriken 2009 par autoprestige-tuning.frautoprestige
 
GADTs Einführung
GADTs EinführungGADTs Einführung
GADTs Einführungsmu42
 
Aplicaciones móviles para ambientes descentralizados
Aplicaciones móviles para ambientes descentralizadosAplicaciones móviles para ambientes descentralizados
Aplicaciones móviles para ambientes descentralizadosvladimir calderon
 
The pale blue dot. Carl Sagan.
The pale blue dot. Carl Sagan.The pale blue dot. Carl Sagan.
The pale blue dot. Carl Sagan.profesdelCarmen
 
Modificaciones DOT sintesis.pdf
Modificaciones DOT sintesis.pdfModificaciones DOT sintesis.pdf
Modificaciones DOT sintesis.pdfIrekia - EJGV
 
Instructivo para inscripcion a nivel de ingles English dot Works
Instructivo para inscripcion a nivel de ingles English dot WorksInstructivo para inscripcion a nivel de ingles English dot Works
Instructivo para inscripcion a nivel de ingles English dot Worksguiboro
 
Presentan un nuevo reloj para ciegos
Presentan un nuevo reloj para ciegosPresentan un nuevo reloj para ciegos
Presentan un nuevo reloj para ciegosNicool1608
 
Informe modficación Directrices Ordenacion del Territorio .pdf
Informe modficación  Directrices Ordenacion del Territorio .pdfInforme modficación  Directrices Ordenacion del Territorio .pdf
Informe modficación Directrices Ordenacion del Territorio .pdfIrekia - EJGV
 
Aprilia futura rst 1000 recepteur embrayage
Aprilia futura rst 1000 recepteur embrayageAprilia futura rst 1000 recepteur embrayage
Aprilia futura rst 1000 recepteur embrayagesnakemoto
 
Institucional: DOT digital group
Institucional: DOT digital groupInstitucional: DOT digital group
Institucional: DOT digital groupDOT digital group
 

Destaque (20)

Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen PersonalwirtschaftHuman Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
Human Potential Index (HPI) als instrument der dynamischen Personalwirtschaft
 
Virtualizacion A La Orden
Virtualizacion A La OrdenVirtualizacion A La Orden
Virtualizacion A La Orden
 
Documentos da rede e mec
Documentos da rede e mecDocumentos da rede e mec
Documentos da rede e mec
 
Dot dot-seurat
Dot dot-seuratDot dot-seurat
Dot dot-seurat
 
Dot Zsuriken 2009 par autoprestige-tuning.fr
Dot Zsuriken 2009 par autoprestige-tuning.frDot Zsuriken 2009 par autoprestige-tuning.fr
Dot Zsuriken 2009 par autoprestige-tuning.fr
 
Relooking stratégique
Relooking stratégiqueRelooking stratégique
Relooking stratégique
 
4 verde dot
4 verde dot4 verde dot
4 verde dot
 
Tutorial prezi
Tutorial preziTutorial prezi
Tutorial prezi
 
GADTs Einführung
GADTs EinführungGADTs Einführung
GADTs Einführung
 
More fun in the philippines - Thomas JOUANNES
More fun in the philippines - Thomas JOUANNESMore fun in the philippines - Thomas JOUANNES
More fun in the philippines - Thomas JOUANNES
 
Aplicaciones móviles para ambientes descentralizados
Aplicaciones móviles para ambientes descentralizadosAplicaciones móviles para ambientes descentralizados
Aplicaciones móviles para ambientes descentralizados
 
Maine dot statement doc
Maine dot statement docMaine dot statement doc
Maine dot statement doc
 
Nevada dot doc
Nevada dot docNevada dot doc
Nevada dot doc
 
The pale blue dot. Carl Sagan.
The pale blue dot. Carl Sagan.The pale blue dot. Carl Sagan.
The pale blue dot. Carl Sagan.
 
Modificaciones DOT sintesis.pdf
Modificaciones DOT sintesis.pdfModificaciones DOT sintesis.pdf
Modificaciones DOT sintesis.pdf
 
Instructivo para inscripcion a nivel de ingles English dot Works
Instructivo para inscripcion a nivel de ingles English dot WorksInstructivo para inscripcion a nivel de ingles English dot Works
Instructivo para inscripcion a nivel de ingles English dot Works
 
Presentan un nuevo reloj para ciegos
Presentan un nuevo reloj para ciegosPresentan un nuevo reloj para ciegos
Presentan un nuevo reloj para ciegos
 
Informe modficación Directrices Ordenacion del Territorio .pdf
Informe modficación  Directrices Ordenacion del Territorio .pdfInforme modficación  Directrices Ordenacion del Territorio .pdf
Informe modficación Directrices Ordenacion del Territorio .pdf
 
Aprilia futura rst 1000 recepteur embrayage
Aprilia futura rst 1000 recepteur embrayageAprilia futura rst 1000 recepteur embrayage
Aprilia futura rst 1000 recepteur embrayage
 
Institucional: DOT digital group
Institucional: DOT digital groupInstitucional: DOT digital group
Institucional: DOT digital group
 

Semelhante a Virtualização de Máquinas com Ferramentas Livres

Apresentação Monografia Virtualização
Apresentação Monografia VirtualizaçãoApresentação Monografia Virtualização
Apresentação Monografia VirtualizaçãoKleber Lyra
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVTapsegundo
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - novaPaulo Fonseca
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - novaPaulo Fonseca
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à VirtualizaçãoLucas Miranda
 
Virtualização de Desktops
Virtualização de DesktopsVirtualização de Desktops
Virtualização de Desktopsapsegundo
 
Minicurso - Virtualização
Minicurso - VirtualizaçãoMinicurso - Virtualização
Minicurso - Virtualizaçãodanielbojczuk
 
Beneficios da virtualização
Beneficios da virtualizaçãoBeneficios da virtualização
Beneficios da virtualizaçãoKelsen Lima
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosJoseVieira75
 
Apresentação estágio - Virtualização
Apresentação estágio - VirtualizaçãoApresentação estágio - Virtualização
Apresentação estágio - VirtualizaçãoMichell Antunes
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing Jorge Cardoso
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Dextra
 

Semelhante a Virtualização de Máquinas com Ferramentas Livres (20)

Apresentação Monografia Virtualização
Apresentação Monografia VirtualizaçãoApresentação Monografia Virtualização
Apresentação Monografia Virtualização
 
VDI e Projeto OSDVT
VDI e Projeto OSDVTVDI e Projeto OSDVT
VDI e Projeto OSDVT
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - nova
 
Apostila 9 virtualização - nova
Apostila 9   virtualização - novaApostila 9   virtualização - nova
Apostila 9 virtualização - nova
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à Virtualização
 
Virtualização de Desktops
Virtualização de DesktopsVirtualização de Desktops
Virtualização de Desktops
 
Minicurso - Virtualização
Minicurso - VirtualizaçãoMinicurso - Virtualização
Minicurso - Virtualização
 
JavaME - Aula 1
JavaME - Aula 1JavaME - Aula 1
JavaME - Aula 1
 
Virtualização.ppt
Virtualização.pptVirtualização.ppt
Virtualização.ppt
 
Beneficios da virtualização
Beneficios da virtualizaçãoBeneficios da virtualização
Beneficios da virtualização
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Apresentação estágio - Virtualização
Apresentação estágio - VirtualizaçãoApresentação estágio - Virtualização
Apresentação estágio - Virtualização
 
JavaME
JavaMEJavaME
JavaME
 
[SO]Virtualizacao.ppt
[SO]Virtualizacao.ppt[SO]Virtualizacao.ppt
[SO]Virtualizacao.ppt
 
Boteco Xen
Boteco XenBoteco Xen
Boteco Xen
 
Introdução à Programacao em Processing
Introdução à Programacao em Processing Introdução à Programacao em Processing
Introdução à Programacao em Processing
 
Usando vitual box parte 1
Usando vitual box   parte 1Usando vitual box   parte 1
Usando vitual box parte 1
 
Aula01
Aula01Aula01
Aula01
 
Aula 02
Aula 02Aula 02
Aula 02
 
Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2Maratona JBoss 2010 - JBoss AS Amazon EC2
Maratona JBoss 2010 - JBoss AS Amazon EC2
 

Mais de Tchelinux

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Tchelinux
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeTchelinux
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Tchelinux
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Tchelinux
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeTchelinux
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...Tchelinux
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Tchelinux
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...Tchelinux
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Tchelinux
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeTchelinux
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeTchelinux
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Tchelinux
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...Tchelinux
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...Tchelinux
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Tchelinux
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Tchelinux
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.Tchelinux
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Tchelinux
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygameTchelinux
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Tchelinux
 

Mais de Tchelinux (20)

Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
Do Zero ao YouTube em menos de 10 softwares livres - Vinícius Alves Hax - Tch...
 
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio GrandeInsegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
Insegurança na Internet - Diego Luiz Silva da Costa - Tchelinux 2019 Rio Grande
 
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
Explorando Editores de Texto Open Source - Gabriel Prestes Ritta - Tchelinux ...
 
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
Desenvolvendo Jogos com PyGame - Jerônimo Medina Madruga - Tchelinux 2019 Rio...
 
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio GrandeMe formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
Me formei. E agora? - Matheus Cezar - Tchelinux 2019 Rio Grande
 
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevar...
 
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
Shell Script: Seu melhor amigo na automatização de instalações e configuraçõe...
 
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
WebRTC: Comunicação aberta em tempo real - Nelson Dutra Junior - Tchelinux 20...
 
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
Introdução à programação funcional com Clojure - Victor Hechel Colares - Tche...
 
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio GrandeConstruindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
Construindo um Data Warehouse - Vítor Resing Plentz - Tchelinux 2019 Rio Grande
 
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio GrandeBikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
Bikeshedding - Márcio Josué Ramos Torres - Tchelinux 2019 Rio Grande
 
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
Produção de textos com Latex - Samuel Francisco Ferrigo - Tchelinux Caxias do...
 
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
A tecnologia no futuro e nas mãos de quem ela estará - Jaqueline Trevizan, Ne...
 
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
oVirt uma solução de virtualização distribuída opensource - Daniel Lara - Tch...
 
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
Sistemas Embarcados e Buildroot - Renato Severo - Tchelinux Caxias do Sul 2019
 
Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.Com que ônibus eu vou? Uma gentil introdução ao Python.
Com que ônibus eu vou? Uma gentil introdução ao Python.
 
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
O TCC... um dia ele chega! (The beautiful and easy LaTeX way.
 
Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes. Não deixe para testar depois o que você pode testar antes.
Não deixe para testar depois o que você pode testar antes.
 
Desenvolvendo jogos com pygame
Desenvolvendo jogos com pygameDesenvolvendo jogos com pygame
Desenvolvendo jogos com pygame
 
Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?Essa câmera faz fotos muito boas, né?
Essa câmera faz fotos muito boas, né?
 

Virtualização de Máquinas com Ferramentas Livres

  • 1. Virtualização de Máquinas Uma experiência baseada em ferramentas livres Carlos A. M. dos Santos echo unixmania at gmail dot com | sed 's/ at /@/;s/ dot /./g' 1º Seminário de Software Livre Tchelinux Pelotas, 24 de março de 2007
  • 2. Sobre o Palestrante ● Engenheiro agrícola* (UFPel, 1988) ● Pesquisador bolsista (EMBRAPA, 1989-1993) ● Programador e gerente de redes (CPMet/UFPel, provedores de serviços Internet, 1993-1999) ● Mestre em Ciência da Computação, na área de Computação Gráfica (UFRGS, 1998-2000) ● Professor de CG, programação e redes (URI, Santo Ângelo, 2001-2005) ● Atualmente: HP Brasil (IPL) * Acredite se quiser!
  • 3. Ressalva As opiniões expostas aqui são do palestrante, apenas, e não representam políticas, processos ou estratégias de mercado da HP. As informações expostas aqui não representam produtos, software ou serviços comercializados pela HP.
  • 4. Temas Abordados ● Teoria (não dói!) – Instruction Set Architecture – Definição formal de virtualização – Tipos de virtualização – Vantagens e desvantagens ● Exemplo prático – QEMU: diversos SOs rodando simultaneamente
  • 5. Instruction Set Architecture* ● Delimita a divisão entre hardware e software ● Hardware: dispositivo caracterizado por – um conjunto finito de estados válidos (registradores, memória) – um conjunto finito de instruções executáveis válidas ● Software: um conjunto cujos elementos são instruções válidas ● A execução das instruções provoca transições de estados * Doravante abreviada para ISA
  • 6. e(Si ) Si Sj Exemplo: a execução da intrução e muda o estado do hardware de Si para Sj Referência: Smith, James E. & Nair, Ravi. Virtual Machines. San Francisco: Morgan Kaufmann, 2005.
  • 7. Virtualização É a construção de um isomorfismo entre um sistema hóspede e um sistema hospedeiro* e(Si ) Si Sj hóspede V(Si ) V(Sj ) e'(S'i ) S'i S'j hospedeiro * Popek & Goldberg, 1974
  • 8. Tipos de Virtualização ● Em nível de processo – O hóspede é um único processo de usuário – A máquina virtual provê uma ABI* para o processo ● Em nível de sistema – Muitos processos de usuário podem coexistir – A máquina virtual provê um ambiente completo * Application Binary Interface
  • 9. Virtualização em nível de processo Processo Processo Hóspede Aplicativo Aplicativo Runtime Software de Virtualização Máquina Virtual Sistema Operacional Hospedeiro Hardware
  • 10. Virtualização em nível de sistema Processo Processo Aplicativo Aplicativo Hóspede Sistema Sistema Operacional Operacional VMM Software de Virtualização Máquina Virtual Hospedeiro Hardware
  • 11. Virtualização em Nível de Processo ● Multiprogramação: SO roda processos concorrentes ● Emulador/tradutor binário dinâmico: simula uma ISA (FX!32, Wine, PACE, QuickTransit/Rosetta) ● Otimizador binário dinâmico: modifica código para melhor desempenho (HP Dynamo) ● VM de linguagem de alto nível (p-Machine, Java) ● Exceções/mistos – FX32: recompilador dinâmico para a mesma ISA – Jalapeño: VM Java que faz otimização binária – FreeBSD Linux mode: vetor de serviços de sistema – FreeBSD Jails: contexto isolado restrito (Verio VPS)
  • 12. Exemplos de virtualização em nível de processo Aplicação Windows (IA32) Aplicação M68k (Palm OS 4) Aplicação ARM32 Windows NT (Palm OS 5) PACE (runtime) (Alpha) Runtime Bibliotecas ISA Alpha (RISC, 64 Bits) Palm OS 5 FX!32 DAL: Device Abstraction Layer Aplicação Windows (IA32) HAL: Hardware Abstraction Layer Runtime Unix ISA ARM32 ISA IA32 Palm OS Application Compatibility Wine: Windows Emulator Environment Palm OS 5
  • 13. Virtualização em Nível de Sistema ● VM clássica: hypervisor (VMM) gerencia o hardware e suporta múltiplos SOs (VM/370, VM/CMS, z/VM) ● VM hóspede: roda em um SO (VMware, Virtual PC for Windows, QEMU Accelerator) ● Sistema completo: emula um computador (QEMU, Virtual PC for Mac, POSE, dúzias!) ● Codesign: semelhante a microcódigo, processador expõe uma ISA virtual (Crusoe, IBM AS/400) ● Exceções/mistos – Virtualização auxilida por hardware (VT-x, AMD-V) – Xen: Paravirtualization (SO hóspede modificado)
  • 14. Exemplos de virtualização em nível de sistema Aplicação Linux (SPARC32) SPARC Linux QEMU (runtime) VM1 VM2 FreeBSD Aplicação Aplicação Linux z/OS ISA IA32 z/Linux z/OS Aplicação Windows (IA32) Hypervisor (runtime) Windows XP (IA32) QEMU (runtime) z/Architecture FreeBSD Kqemu z/VM ISA IA32 QEMU
  • 15. Vantages e Desvantagens Vantagens Desvantagens ● Redução de custos ● Desempenho limitado ● Segurança ● Emulação incompleta ● Flexibilidade ● Necessidade de alterar o hóspede (às vezes) Vantages e desvantagens sempre são relativas!
  • 16. Exemplo Prático QEMU: diversos SOs rodando simultaneamente Aplicação FreeBSD (IA32) FreeBSD (IA32) QEMU (runtime) Linux Kqemu ISA IA32
  • 18. Obrigado pela atenção! Contato echo unixmania at gmail dot com | sed 's/ at /@/;s/ dot /./g'