Máquinas Virtuais e Emuladores

Tamanho: px
Começar a partir da página:

Download "Máquinas Virtuais e Emuladores"

Transcrição

1 Máquinas Virtuais e Emuladores Conceitos, Técnicas e Aplicações Marcos Laureano Novatec Editora

2 Capítulo 1 Máquinas virtuais O que agora é provado foi uma vez apenas imaginado. (William Blake, poeta inglês) O conceito de máquina virtual não é novo suas origens remetem ao início da história dos computadores, no final dos anos de 1950 e início de As máquinas virtuais foram originalmente desenvolvidas para centralizar os sistemas de computador utilizados no ambiente VM/370 da IBM. Naquele sistema, cada máquina virtual simula uma réplica física da máquina real e os usuários têm a ilusão de que o sistema está disponível para seu uso exclusivo. A utilização de máquinas virtuais está se tornando uma alternativa para vários sistemas de computação, pelas vantagens em custos e portabilidade, inclusive em sistemas de segurança. 1.1 Por que máquinas virtuais? Os sistemas de computadores são projetados com basicamente três componentes: hardware, sistema operacional e aplicações (Figura 1.1). Aplicações Sistema operacional Hardware Figura 1.1 Sistema de computador. 15

3 16 Máquinas Virtuais e Emuladores O papel do hardware é executar as operações solicitadas pelas aplicações. O sistema operacional recebe as solicitações das operações (por meio das chamadas de sistemas) e controla o acesso ao hardware principalmente nos casos em que os componentes são compartilhados, como sistema de memória e Entrada e Saída. Os sistemas operacionais, assim como as aplicações, são projetados para aproveitar o máximo dos recursos que o hardware fornece. Normalmente os projetistas de hardware, sistema operacional e aplicações trabalham de forma independente (em empresas e tempos diferentes). Esses trabalhos independentes geraram, ao longo dos anos, várias plataformas operacionais diferentes (e não compatíveis entre si). Assim, aplicações escritas para uma plataforma operacional (Figura 1.2) não funcionam em outras plataformas (Figura 1.3). Aplicações Macintosh Aplicações Windows Aplicações Linux MacOS Windows Linux Power PC x86 x86 Figura 1.2 Alguns sistemas existentes. Aplicações Macintosh Aplicações Windows MacOS Linux x86 x86 Figura 1.3 Incompatibilidade entre plataformas. ë Nota: No contexto deste livro, plataforma operacional é o conjunto formado pelo hardware, sistema operacional e aplicações. A utilização de máquinas virtuais possibilita resolver esse problema, pois a máquina virtual cria uma camada para compatibilizar diferentes plataformas (Figura 1.4). Essa camada softwares que podem ser utilizados para fazer os

4 Capítulo 1 Máquinas virtuais 17 recursos parecerem diferentes do que realmente são é chamada de virtualização. A conceituação de máquinas virtuais, seus tipos, características e métodos serão detalhados nos próximos tópicos. Aplicações Sistema operacional Máquina virtual Camada de compatibilidade Hardware Figura 1.4 Camada de compatibilidade. 1.2 Definição de máquinas virtuais Uma máquina virtual (Virtual Machine VM) pode ser definida como uma duplicata eficiente e isolada de uma máquina real. A IBM define uma máquina virtual como uma cópia isolada de um sistema físico, e essa cópia está totalmente protegida. O termo máquina virtual foi descrito na década de 1960 a partir de um termo de sistema operacional: uma abstração de software que enxerga um sistema físico (máquina real). Com o passar dos anos, o termo englobou um grande número de abstrações por exemplo, Java Virtual Machine (JVM), que não virtualiza um sistema real. Uma máquina real é formada por vários componentes físicos que fornecem operações para o sistema operacional e suas aplicações. Iniciando pelo núcleo do sistema real, o processador central (CPU) e o chipset da placa-mãe fornecem um conjunto de instruções e outros elementos fundamentais para o processamento de dados, alocação de memória e processamento de E/S. Olhando mais detalhadamente um sistema físico, temos ainda os dispositivos e os recursos, tais como a memória, o vídeo, o áudio, os discos rígidos, os CD-ROMs e as portas (USB, paralela, serial). Em uma máquina real, a BIOS ou devices drivers específicos fornecem as operações de baixo nível para que um sistema operacional possa acessar os vários recursos da placa-mãe, memória ou serviços de E/S (Figura 1.5).

5 18 Máquinas Virtuais e Emuladores Camada de software Camada de hardware virtual Aplicações Linux Aplicações Windows Aplicações Aplicações McAfee Aplicações Máquina virtual Aplicações Sistema operacional Camada de hardware Processador Periféricos Discos Disquete Figura 1.5 Diagrama de uma máquina virtual. 1.3 Emuladores e máquinas virtuais Um emulador é o oposto da máquina real. O emulador implementa todas as instruções realizadas pela máquina real em um ambiente abstrato de software, possibilitando executar um aplicativo de uma plataforma em outra, por exemplo, um aplicativo do Windows sendo executado no Linux ou um aplicativo i386 sendo executado em uma plataforma Sparc. Um emulador é um software que simula um computador real, ou seja, um emulador é um software criado essencialmente para transcrever instruções de um processador alvo para o processador no qual ele está rodando. Um emulador engana, fazendo com que todas as operações da máquina real sejam implementadas em um software. Em outras palavras, ocorre a interpretação (em alguns casos, por meio de recompilação) de um código desenvolvido para outra plataforma. Infelizmente, ele perde muito em eficiência ao traduzir cada instrução da máquina real. Além disso, emuladores são bastante complexos, pois geralmente necessitam simular quase todas as instruções do processador e demais características do hardware que os circundam.

6 Capítulo 1 Máquinas virtuais 19 A funcionalidade e o nível de abstração de uma máquina virtual encontramse em uma posição intermediária entre uma máquina real e um emulador, de forma que os recursos de hardware e de controle são abstraídos e usados pelas aplicações. Uma máquina virtual é um ambiente criado por um monitor de máquina virtual (Virtual Machine Monitor VMM), também denominado sistema operacional para sistemas operacionais. O monitor de máquinas virtuais também é conhecido como hypervisor. O monitor pode criar uma ou mais máquinas virtuais sobre uma única máquina real. Enquanto um emulador fornece uma camada de abstração completa entre o sistema em execução e o hardware, um monitor fornece uma interface (por meio da multiplexação do hardware) que é idêntica ao hardware subjacente e controla uma ou mais máquinas virtuais. Cada máquina virtual, que recebe uma cópia (virtual) do computador, fornece facilidades para uma aplicação ou um sistema convidado que acredita estar executando sobre um ambiente convencional com acesso direto ao hardware, ou seja, cada máquina virtual trabalha como um PC completo (normalmente possuindo BIOS e sendo passível de configuração utilizando-se o Setup). Dispositivos como o CD-ROM e unidades de disquetes podem ser compartilhados entre as máquinas virtuais e o sistema host, em alguns casos até mesmo simultaneamente (uma unidade de CD pode ser acessada por todos os sistemas). Um emulador fornece uma abstração idêntica do hardware que está em uso, mas também pode simular outros diferentes do atual. ë Nota: As finalidades primárias de um sistema operacional são habilitar aplicações a interagir com um hardware de computador e gerenciar os recursos de hardware e software de um sistema. Por tal motivo, o monitor de máquinas virtuais pode ser definido como sistema operacional para sistemas operacionais. 1.4 Tipos de emuladores A primeira classificação para emuladores é a mais antiga e amplamente utilizada; embora seja mais simplificada. É dividida em três tipos: Firmware: Um firmware pode ser definido como programação em hardware, programa ou dados de computador que são armazenados permanentemente em um chip de memória de hardware, como uma ROM ou EPROM. Nesse caso, o emulador é contido dentro de um hardware. Usualmente envolve um ou mais emuladores embutidos em uma ROM que reconfiguram todo o sistema em uso para outro completamente

7 20 Máquinas Virtuais e Emuladores diferente. É a mais rápida tecnologia de emulação, mas também a mais complexa de se implementar e de se manter a compatibilidade com versões anteriores. Software: Toda emulação é feita por software, ou seja, o emulador reconfigura a máquina em uso para a aplicação que se deseja emular. A emulação por software é a mais fácil de se implementar e portar para outras plataformas, mas em compensação é a forma mais lenta de emulação. Combinação, emulação combinada ou combo : O emulador é composto de hardware e software. O software normalmente faz o papel principal da emulação, enquanto o hardware fornece partes chaves do processo. Oferece grande flexibilidade em termos de projeto. A classificação mais atual, e mais completa, define que os emuladores podem ser divididos em quatro tipos básicos: Totalmente baseada em hardware: A solução independe de software para ser utilizada. Um exemplo de aplicação seria um processador emulando uma arquitetura mais antiga para garantir a execução de softwares legados, como os atuais processadores de 64 bits da AMD, que rodam aplicações 32 bits por meio da emulação do processador. Parcialmente baseada em hardware: O hardware é projetado para suportar a emulação, mas precisa de uma aplicação em software para que seus recursos sejam utilizados. O hardware da IBM para mainframes é um exemplo, pois foi desenvolvido para suportar a virtualização, porém necessita de um sistema operacional que utilize esses recursos disponíveis. Parcialmente baseada em software: A emulação é obtida pelo software que utiliza alguns recursos do hardware para prover a emulação. Alguns emuladores na plataforma Macintosh utilizam-se de recursos de algumas placas de vídeo (3dFX Voodoo2, por exemplo) diretamente, mesmo que a plataforma não suporte o periférico adequadamente ou o próprio periférico não disponibilize nativamente os recursos para o sistema operacional. Totalmente baseada em software: O emulador não precisa de nenhum hardware para prover a emulação, ou seja, o software provê todos os recursos para isso. Esse tipo de emulador é o mais popular pela adaptabilidade (o código-fonte de um emulador pode ser aproveitado para emular várias plataformas parecidas) e portabilidade. Emuladores de plataformas Atari e Amiga são alguns exemplos.

8 Capítulo 1 Máquinas virtuais 21 Os emuladores podem ser classificados ainda de acordo com a natureza do uso: Emulação do processador. Emulação de um sistema operacional. Emulação de uma plataforma de (hardware) específico. Consoles de videogames. 1.5 Tipos de máquinas virtuais Existem basicamente duas abordagens para a construção de sistemas de máquinas virtuais: Tipo I: sistema em que o monitor é implementado entre o hardware e os sistemas convidados (guest system). Tipo II: nele o monitor é implementado como um processo de um sistema operacional real subjacente, denominado sistema anfitrião (host system). As Figuras 1.6 e 1.7 ilustram a organização tradicional de um sistema de máquinas virtuais. Para maximizar o desempenho, o monitor, sempre que possível, permite que a máquina virtual execute diretamente sobre o hardware, em modo usuário. O monitor retoma o controle sempre que a máquina virtual tenta executar uma operação que possa afetar o correto funcionamento do sistema, o conjunto de operações de outras máquinas virtuais ou do próprio hardware. O monitor simula com segurança a operação antes de retornar o controle à máquina virtual Máquinas virtuais de tipo I O monitor tem o controle do hardware e cria um ambiente de máquinas virtuais; cada máquina virtual se comporta como uma máquina física completa que pode executar o seu próprio sistema operacional, semelhante a um sistema operacional tradicional que está no controle da máquina. O resultado da completa virtualização da máquina é um conjunto de computadores virtuais executando sobre o mesmo sistema físico.

9 22 Máquinas Virtuais e Emuladores Convidado Convidado Monitor Hardware Máquinas virtuais de tipo II Figura 1.6 Máquina virtual de tipo I. O monitor executa sobre um sistema anfitrião, como um processo num sistema real. O monitor de tipo II funciona de forma análoga ao de tipo I, sendo a sua maior diferença a existência de um sistema abaixo deste. Neste modelo, o monitor simula todas as operações que o sistema anfitrião controlaria. Sistema convidado Monitor Sistema anfitrião Hardware Abordagens híbridas Figura 1.7 Máquina virtual de tipo II. Os monitores de tipo I e II raramente são usados em sua forma conceitual em implementações reais. Na prática, várias otimizações são inseridas nas arquiteturas apresentadas, com o objetivo principal de melhorar o desempenho das aplicações nos sistemas convidados. Como os pontos cruciais do desempenho dos sistemas de máquinas virtuais são as operações de E/S, as principais otimizações utilizadas em sistemas de produção dizem respeito a essas operações. Quatro otimizações são usuais:

10 Capítulo 1 Máquinas virtuais 23 Em monitores de tipo I (Figura 1.8): Sistema convidado Sistema convidado 1 Monitor 1 Hardware Figura 1.8 Abordagem híbrida para tipo I. 1. O sistema convidado (guest system) acessa diretamente o hardware. Essa forma de acesso se dá pela implementação de modificações no núcleo do sistema convidado e no monitor. Essa otimização ocorre, por exemplo, no subsistema de gerência de memória do ambiente Xen. Em monitores de tipo II (Figura 1.9): Sistema convidado Monitor Sistema anfitrião Hardware Figura 1.9 Abordagem híbrida para tipo II. 1. 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. Um exemplo dessa otimização ocorre no sistema de arquivos no VMware: em vez de reconstruir integralmente o sistema de arquivos sobre um dispositivo virtual provido pelo monitor, o sistema convidado faz uso da implementação de sistema de arquivos nativa existente no sistema anfitrião.

11 24 Máquinas Virtuais e Emuladores 2. O sistema convidado (guest system) acessa diretamente o hardware. Essa otimização é implementada parcialmente pelo monitor e parcialmente pelo sistema anfitrião, pelo uso de um device driver específico. Um exemplo típico dessa otimização é o acesso direto a dispositivos físicos como leitor de CDs, hardware gráfico e interface de rede provida pelo sistema VMware aos sistemas operacionais convidados. 3. 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. Essa abordagem é usada pelos sistemas VMware e UML. Essas otimizações levam a arquiteturas que diferem dos modelos básicos I e II, sendo por isso chamadas de abordagens híbridas. 1.6 Formas de virtualização Os softwares podem ser utilizados para fazer os recursos parecerem diferentes do que realmente são e essa capacidade é chamada de virtualização. A 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. Existem três formas de virtualização: virtualização do hardware, virtualização do sistema operacional e virtualização de linguagens de programação Virtualização do hardware A virtualização exporta o sistema físico como uma abstração do hardware (Figura 1.10). Nesse modelo, qualquer software escrito para a arquitetura (x86, por exemplo) irá funcionar. Esse foi o modelo adotado na década de 1960 para o VM/370 nos mainframes IBM e é a tecnologia de virtualização utilizada pelo VMware na plataforma x86.

12 Capítulo 1 Máquinas virtuais 25 Sistema operacional (Linux, Windows, Unix) CPU, RAM, dispositivos de E/S - Virtual Máquina virtual Sistema operacional (Linux, Windows, Unix) CPU, RAM, dispositivos de E/S - Real Figura 1.10 Virtualização do hardware Virtualização do sistema operacional A virtualização exporta um sistema operacional como abstração de um sistema específico (Figura 1.11). A máquina virtual roda aplicações ou um conjunto de aplicações de um sistema operacional específico. O FreeBSD Jail ou o User- Mode Linux são exemplos dessa tecnologia. Sistema operacional (Linux, Windows, Unix) - Virtual Máquina virtual Sistema operacional (Linux, Windows, Unix) CPU, RAM, dispositivos de E/S - Real Figura 1.11 Virtualização do sistema operacional.

13 26 Máquinas Virtuais e Emuladores Virtualização de linguagens de programação A camada de virtualização cria uma aplicação no topo do sistema operacional. Na prática, as máquinas virtuais nessa categoria 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 essa virtualização (Figura 1.12). Java e Smalltalk são exemplos desse tipo de máquina virtual. Máquina virtual Sistema operacional (Linux, Windows, Unix) CPU, RAM, dispositivos de E/S - Real Figura 1.12 Virtualização de linguagens de programação O poder da virtualização O uso das máquinas virtuais e emuladores possibilitam: a. executar um sistema operacional (e suas aplicações) sobre outro; b. utilizar uma aplicação de outra plataforma operacional; c. executar múltiplos sistemas operacionais; d. flexibilizar uma plataforma complexa de trabalho. Um exemplo claro sobre o poder da virtualização (sua aplicação) seria um usuário executar uma aplicação em Java sobre a máquina virtual User-Mode Linux, que por sua vez estaria sobre um sistema Linux, que poderia estar sendo executado sob outra máquina virtual (VMware) e que, por fim, estaria sobre um sistema operacional (Windows) (Figura 1.13).

14 Capítulo 1 Máquinas virtuais 27 Java Java Virtual Machine User - Mode Linux Linux VMware Windows Hardware (x86) Figura 1.13 Exemplo de virtualização em seqüência. A Figura 1.14 apresenta um exemplo mais complexo de utilização de máquinas virtuais. Este exemplo teoricamente é possível, mas só implementável se todas as aplicações de máquinas virtuais e emuladores suportassem a auto-virtualização, ou seja, se fossem capazes de executar uma cópia de si internamente. Infelizmente nem todas as máquinas virtuais ainda têm essa capacidade. Apl Apl JAIL JAIL FreeBSD Windows II Linux Mac VMware Windows II JVM UML QEMU Windows Linux XEN Hardware (x86) Figura 1.14 Exemplo complexo de múltiplas virtualizações.

15 28 Máquinas Virtuais e Emuladores Outras classificações de virtualização Existem outras classificações para a tecnologia de virtualização: Abstração do ISA (Instruction Set Architecture): A virtualização é implementada com o uso da emulação completa do ISA. O emulador executa as instruções do sistema convidado (a máquina virtual é obtida por meio da emulação) utilizando a tradução das instruções para o sistema nativo. Essa arquitetura é robusta e simples para implementação, mas a perda de performance é significativa. Bochs, Crusoe e QEMU são exemplos dessa arquitetura. Hardware Abstraction Layer (HAL): O monitor simula uma arquitetura completa para o sistema convidado. Dessa forma, o sistema convidado acredita estar executando sobre um sistema completo de hardware. VMware, Virtual PC, Denali e Xen são exemplos dessa arquitetura. ë Nota: O termo Instruction Set Architecture (ISA) é uma definição utilizada para distinguir formalmente de outros usos formais do termo arquitetura quando se refere a outros aspectos de implementação de arquitetura de hardware. O ISA descreve os aspectos da arquitetura do computador visível ao programador, tais como: tipos nativos de dados, instruções, registradores, modos de endereçamento, arquitetura de memória, interrupções e exceções. OS Level (sistema operacional): Esse nível de virtualização é obtido utilizando-se uma chamada de sistema (system call) específica. O principal benefício da virtualização nesse nível é criar uma camada para obter o isolamento de processos. Cada sistema é virtualizado com seu próprio endereço IP e outros recursos de hardware (embora limitado). A virtualização ocorre a partir de um diretório ou sistema de arquivos previamente preparado para esse fim. O Jail e o Ensim são exemplos dessa arquitetura. Nível de aplicação ou virtualização de linguagens de programação: A virtualização é obtida por meio da abstração de uma camada de execução. Uma aplicação utiliza essa camada para executar as instruções do programa. Essa solução garante que uma aplicação possa ser executada em qualquer plataforma de software ou hardware, pois a camada é abstraída de forma idêntica em todas as plataformas, porém é necessária uma máquina virtual específica para cada plataforma. Java, Microsoft.NET CLI e Parrot são exemplos dessa arquitetura.

16 Capítulo 1 Máquinas virtuais 29 User level library interface (biblioteca de interface para usuário): Vários sistemas e aplicações são escritos utilizando-se um conjunto de APIs fornecidos pelo sistema (aplicações sob o sistema Windows são os exemplos mais populares), exportados para o nível do usuário por meio de bibliotecas. A virtualização nesse nível é obtida com a abstração do topo do sistema operacional para que as aplicações possam executar em outra plataforma. O Wine é um exemplo desse tipo de arquitetura. 1.7 Técnicas de virtualização e emulação As técnicas mais utilizadas para virtualização atualmente são a paravirtualização (paravirtualization), virtualização total (full virtualization) e recompilação dinâmica (dynamic recompilation) Virtualização total Na virtualização total, uma estrutura completa de hardware é virtualizada, portanto, o sistema a ser virtualizado (sistema convidado) não precisa sofrer qualquer tipo de alteração (Figura 1.15). Sistema convidado padrão (sem modificações) Chamada de sistema padrão Hardware x86 virtualizado totalmente Máquina virtual Hardware x86 Figura 1.15 Representação da virtualização total. O principal benefício da virtualização total é justamente o fato de que o sistema a ser virtualizado não sofre qualquer tipo de alteração; em compensação, o sistema virtualizado executa de forma mais lenta e o monitor de máquinas virtuais precisa implementar alternativas para que as operações privilegiadas possam ser executadas em processadores que não suportem a virtualização nativamente, tais como os processadores Intel 32 bits disponíveis atualmente.

17 30 Máquinas Virtuais e Emuladores Paravirtualização Na paravirtualização, o sistema a ser virtualizado (sistema convidado) sofre modificações para que a interação com o monitor de máquinas virtuais seja mais eficiente (Figura 1.16). Sistema convidado paravirtualizado (com modificações) Chamadas de sistema do sistema paravirtualizado Chamada de sistema padrão Hardware x86 virtualizado totalmente Máquina virtual Hardware x86 Figura 1.16 Representação da paravirtualização. A paravirtualização embora exija que o sistema a ser virtualizado precise ser modificado, o que diminui a portabilidade do sistema permite que o sistema convidado consiga acessar recursos do hardware diretamente. O acesso é monitorado pelo monitor de máquinas virtuais, que fornece ao sistema convidado todos os limites do sistema, tais como endereços de memória que podem ser utilizados e endereçamento em disco, por exemplo. A paravirtualização reduz a complexidade do desenvolvimento das máquinas virtuais, já que, historicamente, os processadores não suportam a virtualização nativa. A performance obtida, a principal razão para utilizar a paravirtualização, compensa as modificações que serão implementadas nos sistemas convidados Relação entre a virtualização total e a paravirtualização A virtualização total exige do monitor de máquinas virtuais um trabalho adicional para gerenciamento da memória. Ao ser instanciado, o monitor reserva um espaço da memória para trabalho, mas o sistema convidado acredita estar

18 Capítulo 1 Máquinas virtuais 31 utilizando o início da memória. A Figura 1.17 demonstra exatamente essa dificuldade: a máquina real tem endereçamento de memória iniciando em 0000 até FFFF. O monitor reserva o espaço de memória compreendido entre 000F e 00FF, mas o sistema convidado enxerga esse espaço reservado como sua memória total e, portanto, iniciando em 0000 e finalizando em 000F. Sempre que o sistema convidado acessa a memória virtual, o monitor faz a tradução dos endereços para acessar a memória real. Isso não ocorre na paravirtualização, pois o monitor informa ao sistema convidado qual o espaço de memória que pode ser utilizado. Dessa forma, o sistema convidado acessa diretamente a memória fornecida sem interferência do monitor de máquinas virtuais. FFFF Memória física 0FFF 0000 Memória virtual 00FF F Espaço reservado pela máquina virtual para o sistema convidado Figura 1.17 Alocação de memória para o sistema convidado. O mesmo processo ocorre para acesso a disco: enquanto num sistema com virtualização total o sistema convidado enxerga o disco como seu para uso exclusivo, na paravirtualização o sistema convidado sabe que o disco é compartilhado. Ainda, na virtualização total, sempre que o sistema realiza uma chamada de sistema para acesso a disco, o monitor de máquinas virtuais deve capturar essa chamada, interpretá-la e repassá-la para que o sistema anfitrião execute a operação (em casos de máquinas virtuais de tipo II); em máquinas virtuais de tipo I, o monitor de máquinas virtuais realiza a chamada de sistema a disco. O resultado da chamada de sistema é então repassado para o sistema convidado. Na paravirtualização, o sistema convidado sabe que o disco é compartilhado e realiza diretamente o acesso ao disco (sem a interferência do monitor de máquinas virtuais), bem como aos demais dispositivos (mouse, teclado etc.); o monitor somente controla a ordem de acesso, no caso de múltiplos sistemas convidados em execução simultaneamente.

19 32 Máquinas Virtuais e Emuladores Recompilação dinâmica Outra técnica bastante utilizada é a recompilação dinâmica (dynamic recompilation) de partes do código. Com a compilação, durante a execução, o sistema pode adequar o código gerado de forma a refletir o ambiente original do programa, explorando informações que normalmente não estão disponíveis para um compilador estático tradicional, para que o código gerado seja mais eficiente. Em outros casos, um sistema pode empregar a recompilação dinâmica como parte de uma estratégia de otimização adaptável para executar uma representação portátil do programa, tal como bytecodes de Java. A recompilação dinâmica que também pode ser chamada de translation (tradução) é composta de sete passos: 1. Agrupamento de bits: Quando um programa é compilado (com o gcc, por exemplo) e transformado em um arquivo executável utilizando a linkedição, ele guarda uma série de características comuns que identificam como a memória, os registradores e as funções do sistema operacional são manipulados. Um emulador ou uma máquina virtual pode usar o conhecimento sobre o formato do executável e, pelo uso de técnicas heurísticas, recuperar os conjuntos de bits do executável e reordená-los. 2. Desmontagem (disassembling): Os bits são desmontados e transformados em um conjunto de instruções e operadores ordenados em pares. 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). 5. Compilação: O código gerado é novamente compilado para a nova plataforma. 6. Montagem (assembling): Os códigos-objeto (gerados pela compilação) são novamente montados (linkeditados), preparando a criação de um novo executável. 7. Armazenagem dos bits: Os bits são agrupados de forma a gerar o novo executável. ë Nota: O termo dynamic translation (tradução dinâmica) também é utilizado para se referir à compilação just-in-time (JIT). Essa técnica é utilizada para aumentar a performance de aplicativos usando a conversão de bytecodes compilados previamente (como o Java) para uma linguagem que a máquina entenda.

20 Capítulo 1 Máquinas virtuais Propriedades de monitores de máquinas virtuais Os monitores possuem algumas propriedades que também podem ser utilizadas na segurança de sistemas e outras aplicações: Isolamento: Essa propriedade garante que um software em execução em uma máquina virtual não acesse nem modifique outro software em execução no monitor ou em outra máquina virtual, ou seja, faz com que o software funcione na máquina virtual e em outras máquinas virtuais e máquinas reais sem que um software interfira na execução do outro. Essa propriedade é utilizada para que erros de um software ou hackers possam ser contidos dentro da máquina virtual sem afetar as outras partes do sistema. Além do isolamento dos dados, a camada de virtualização possibilita a redução do desempenho de um sistema convidado de modo que os recursos consumidos por uma máquina virtual não prejudiquem necessariamente o desempenho de outras máquinas virtuais (gerência dos recursos). 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. 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. Eficiência: Instruções inofensivas podem ser executadas diretamente no hardware, pois não irão afetar outras máquinas virtuais ou aplicações. Gerenciabilidade: Como cada máquina virtual é uma entidade independente das demais, a administração das diversas instâncias é simplificada e centralizada. Compatibilidade do software: A máquina virtual fornece uma abstração compatível, de modo que todo o software escrito para ela funcione. Por exemplo, em uma máquina virtual com um sistema operacional de alto nível funcionarão os programas escritos na linguagem de alto nível. A abstração da máquina virtual freqüentemente pode mascarar diferenças nas camadas do hardware e do software abaixo da máquina virtual. Um exemplo disso é escrever uma vez o software em Java e executá-lo em qualquer outra máquina virtual Java.

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano Sistemas Operacionais Marcos Laureano 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3

Leia mais

Sistemas Operacionais 1/66

Sistemas Operacionais 1/66 Sistemas Operacionais 1/66 Roteiro Máquinas virtuais Emuladores Propriedades Benefícios Futuro 2/66 Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Virtualização: Conceitos e Aplicações em

Virtualização: Conceitos e Aplicações em Virtualização: Conceitos e Aplicações em Segurança Marcos Laureano e Carlos Maziero Centro Universitário Franciscano Unifae Pontíficia Universidade Católica do Paraná Programa de Pós-Graduação em Informática

Leia mais

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão

Agenda. Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Máquinas Virtuais Agenda Histórico Máquinas virtuais X Emuladores Vantagens & Desvantagens Vmware Quemu Xen UML Comparação entre VM's Conclusão Histórico Mainframe É um computador de grande porte, dedicado

Leia mais

Virtualização - VMWare e Xen

Virtualização - VMWare e Xen Virtualização - VMWare e Xen A virtualização consiste na emulação de ambientes isolados, capazes de rodar diferentes sistemas operacionais dentro de uma mesma máquina, aproveitando ao máximo a capacidade

Leia mais

Virtualização Gerencia de Redes Redes de Computadores II

Virtualização Gerencia de Redes Redes de Computadores II Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores

Leia mais

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF.

ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I. Máquina Virtual. Instalação de S.O. em dual boot. 1º Semestre 2010 PROF. ETEC RAPOSO TAVARES GESTÃO DE SISTEMAS OPERACIONAIS I Máquina Virtual Instalação de S.O. em dual boot 1º Semestre 2010 PROF. AMARAL Na ciência da computação, máquina virtual é o nome dado a uma máquina,

Leia mais

Hypervisor. Diego Souza Gomes 3 de maio de 2007

Hypervisor. Diego Souza Gomes 3 de maio de 2007 Hypervisor Diego Souza Gomes 3 de maio de 2007 Resumo As máquinas virtuais envolvem a criação de um sistema de computador totalmente em software. Usando-as, é possível hospedar vários computadores virtuais

Leia mais

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas

ATIVIDADE 1 MÁQUINAS VIRTUAIS. 1.1 Arquiteturas não virtualizadas ATIVIDADE 1 MÁQUINAS VIRTUAIS Existem hoje diversas tecnologias e produtos para virtualização de computadores e ambientes de execução, o que pode gerar uma certa confusão de conceitos. Apesar disso, cada

Leia mais

Virtualização de Software

Virtualização de Software UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO DE SISTEMAS DE INFORMAÇÃO Virtualização de Software Luana Sandrini Saft Trabalho de conclusão de curso

Leia mais

Virtualização na arquitetura x86

Virtualização na arquitetura x86 Virtualização na arquitetura x86 Rodrigo Grumiche Silva grumiche@inf.ufsc.br Laboratório de Pesquisa em Sistemas Distribuídos Departamento de Informática e Estatística Universidade Federal de Santa Catarina

Leia mais

Virtualização: Conceitos e Aplicações em Segurança

Virtualização: Conceitos e Aplicações em Segurança Capítulo 4 Virtualização: Conceitos e Aplicações em Segurança MarcosAurelioPchekLaureano 1,2, CarlosAlbertoMaziero 1 1 ProgramadePós-GraduaçãoemInformática Pontifícia Universidade Católica do Paraná Curitiba

Leia mais

Análise Comparativa entre Sistemas Operacionais Virtualizados

Análise Comparativa entre Sistemas Operacionais Virtualizados FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Trabalho de Diplomação Felipe Machado da Costa de Andrade 061247 Andre Marcos Silva (Orientador) Trabalho de Diplomação Análise Comparativa

Leia mais

Virtualização. O conceito de VIRTUALIZAÇÃO

Virtualização. O conceito de VIRTUALIZAÇÃO Virtualização A virtualização está presente tanto no desktop de um entusiasta pelo assunto quanto no ambiente de TI de uma infinidade de empresas das mais variadas áreas. Não se trata de "moda" ou mero

Leia mais

INE651600 Sistemas Operacionais I

INE651600 Sistemas Operacionais I INE651600 Sistemas Operacionais I Thiago Machado Seminário sobre Virtualização de Sistemas Operacionais Virtualização Definição: Permite abstrair os recursos de hardware que uma máquina possui. Criando

Leia mais

4 Estrutura do Sistema Operacional. 4.1 - Kernel

4 Estrutura do Sistema Operacional. 4.1 - Kernel 1 4 Estrutura do Sistema Operacional 4.1 - Kernel O kernel é o núcleo do sistema operacional, sendo responsável direto por controlar tudo ao seu redor. Desde os dispositivos usuais, como unidades de disco,

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

Prof. José Maurício S. Pinheiro UniFOA 2009-2

Prof. José Maurício S. Pinheiro UniFOA 2009-2 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

Leia mais

Virtualização de Máquinas Uma experiência baseada em ferramentas livres

Virtualização de Máquinas Uma experiência baseada em ferramentas livres 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 Porto

Leia mais

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes

Introdução a Virtualização. Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes Introdução a Virtualização Sergio Roberto Charpinel Junior Profa. Roberta Lima Gomes Por que virtualizar? Descentralização de recursos computacionais Cloud computing Plena utilização de recursos físicos

Leia mais

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares

Computação na Nuvem: Virtualização e Migração de VM. André Meireles Estêvão Monteiro Monique Soares Computação na Nuvem: Virtualização e Migração de VM André Meireles Estêvão Monteiro Monique Soares Agenda Overview Histórico Abordagens Desafios em x86 Snapshots Virtualização de Hardware/Plataforma/Sevidor:

Leia mais

Sistemas Virtualizados

Sistemas Virtualizados Sistemas Virtualizados Julio Cesar S. Anjos 1, Mariano Nicolao 2 1 Laboratório de Inteligência Artificial e Computação em Grid Legere Sistemas Dinâmicos Pesquisa e Desenvolvimento - Campus ULBRA/Guaíba

Leia mais

Virtualização de Máquinas Uma experiência baseada em ferramentas livres

Virtualização de Máquinas Uma experiência baseada em ferramentas livres 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,

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais

DETECÇÃO DE INTRUSÃO EM MÁQUINAS VIRTUAIS

DETECÇÃO DE INTRUSÃO EM MÁQUINAS VIRTUAIS DETECÇÃO DE INTRUSÃO EM MÁQUINAS VIRTUAIS Marcos Aurelio Pchek Laureano, Carlos Alberto Maziero, Edgard Jamhour Programa de Pós-Graduação em Informática Aplicada Pontifícia Universidade Católica do Paraná

Leia mais

Utilização de Máquinas Virtuais para Implantar um Mecanismo Transparente de Detecção de Intrusão em Servidores Web

Utilização de Máquinas Virtuais para Implantar um Mecanismo Transparente de Detecção de Intrusão em Servidores Web Utilização de Máquinas Virtuais para Implantar um Mecanismo Transparente de Detecção de Intrusão em Servidores Web Luciano Raitz (FURB/Especialização) mrraitz@yahoo.com.br Francisco Adell Péricas, Ms (FURB/DSC)

Leia mais

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla

Unidade III FUNDAMENTOS DE SISTEMAS. Prof. Victor Halla Unidade III FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Arquitetura de Processadores: Modo Operacional; Velocidade; Cache; Barramento; Etc. Virtualização: Maquinas virtuais; Gerenciamento

Leia mais

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015 MO809L Tópicos em Sistemas Distribuídos 1 semestre, 2015 Virtualização Virtualização Threads/processos: Modo de fazer mais coisas ao mesmo tempo. Concorrência - impressão de execução paralela em computador

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES

TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES 1 MEC SETEC SERVIÇO PÚBLICO FEDERAL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE MATO GROSSO CAMPUS CUIABÁ DIRETORIA DE PESQUISA E PÓS-GRADUAÇÃO TÉCNICAS DE VIRTUALIZAÇÃO E SUAS IMPLEMENTAÇÕES

Leia mais

Virtualização: VMWare e Xen

Virtualização: VMWare e Xen Virtualização: VMWare e Xen Diogo Menezes Ferrazani Mattos Professor: Otto Carlos Disciplina: Redes I Universidade Federal do Rio de Janeiro POLI/COPPE 1 Introdução Virtualização Divisão da máquina física

Leia mais

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense

Gabriel Oliveira do Nascimento Rogério Libarino Aguilar. UFF - Universidade Federal Fluminense Gabriel Oliveira do Nascimento Rogério Libarino Aguilar 1 Introdução Mododelo: Hardware -> Sistema Operacional -> Aplicações Aplicação desenvolvida para um SO. Capacidade de processamento aumentando bastante

Leia mais

ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE REDES DE COMPUTADORES MÁRCIO DA SILVA KLAUCK

ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE REDES DE COMPUTADORES MÁRCIO DA SILVA KLAUCK ESCOLA SUPERIOR ABERTA DO BRASIL ESAB CURSO DE REDES DE COMPUTADORES MÁRCIO DA SILVA KLAUCK VIRTUALIZAÇÃO DE SISTEMAS: Implementação com o VMware no Ambiente Servidor do Frigorífico Excelência VILA VELHA

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO.

UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO. UNIVERSIDADE FEDERAL DE SANTA CATARINA UFSC DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA INE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Xen Hypervisor Glauco Neves 07132022 Guilherme Pacheco 07232063 INE 5412-0432

Leia mais

Virtualização: VMWare e Xen

Virtualização: VMWare e Xen Virtualização: VMWare e Xen Diogo Menezes Ferrazani Mattos GTA/POLI/UFRJ HTTP://www.gta.ufrj.br/ Abstract Nowadays, the concept of virtualization is being remembered as a possible solution, which has low

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Benefícios da Virtualização as para empresas

Benefícios da Virtualização as para empresas Benefícios da Virtualização as para empresas Os investimentos no processo de Virtualização na área de Tecnologia da Informação (TI) aumentaram cerca de 80% nos últimos três anos, segundo informações da

Leia mais

UNIVERSIDADE TUIUTI DO PARANÁ. Andrey Rafael Intima VIRTUALIZAÇÃO DE SERVIDORES CORPORATIVOS EM AMBIENTE WINDOWS COM MONITORAMENTO VIA ZABBIX

UNIVERSIDADE TUIUTI DO PARANÁ. Andrey Rafael Intima VIRTUALIZAÇÃO DE SERVIDORES CORPORATIVOS EM AMBIENTE WINDOWS COM MONITORAMENTO VIA ZABBIX UNIVERSIDADE TUIUTI DO PARANÁ Andrey Rafael Intima VIRTUALIZAÇÃO DE SERVIDORES CORPORATIVOS EM AMBIENTE WINDOWS COM MONITORAMENTO VIA ZABBIX CURITIBA 2013 Andrey Rafael Intima VIRTUALIZAÇÃO DE SERVIDORES

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

Leia mais

Foz do Iguaçu PR Brasil luiz.baltazar@gmail.com, joao@barbosa.net.br, jorgeaikes@gmail.com

Foz do Iguaçu PR Brasil luiz.baltazar@gmail.com, joao@barbosa.net.br, jorgeaikes@gmail.com Análise de Desempenho e Viabilidade do Raspberry Pi como um Thin Client utilizando o Protocolo SPICE Luiz Alberto Alves Baltazar 1, João Paulo de Lima Barbosa 1, Jorge Aikes Junior 1 1 Curso de Ciência

Leia mais

Xen e a Arte da Virtualização

Xen e a Arte da Virtualização Xen e a Arte da Virtualização Paul Barham, Boris Dragovic, Keir Fraser, Steven Hand, Tim Harris, Alex Ho, Rolf Neugebauer, Ian Pratt, Andrew Warfield University of Cambridge Computer Laboratory Microsoft

Leia mais

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2)

Introdução. Sistemas Operacionais. Introdução. Roteiro (1 / 2) Por que Máquinas Virtuais Existem? Roteiro (2 / 2) Sistemas Operacionais O termo máquina virtual foi descrito na década de 60 como uma abstração de software que enxerga um sistema físico. Aula 7 Máquinas Virtuais Prof. Othon Marcelo Nunes Batista Mestre

Leia mais

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil.

A SALA DE AULA é meu paraíso. Nela me realizo, nela exercito minha cidadania e nela me sinto útil. Virtualização Meu nome: Nome de guerra: Meu e-mail: Marcos Vinicios Bueno Marques Professor Cidão marcos@cidao.com.br Quem sou? Professor e coordenador de cursos de TI do Senac Informática em Porto Alegre,

Leia mais

Curso Técnico de Nível Médio

Curso Técnico de Nível Médio Curso Técnico de Nível Médio Disciplina: Informática Básica 3. Software Prof. Ronaldo Software Formado por um conjunto de instruções (algoritmos) e suas representações para o

Leia mais

Introdução aos Sistemas Operativos

Introdução aos Sistemas Operativos Introdução aos Sistemas Operativos Operating System Concepts, Abraham Silberschatz, Peter Baer Galvin, 6ª Ed., Addison-Wesley, 2002 [cap.1, 2 e 3] Operating Systems, Third Edition Harvey M. Deitel, Prentice

Leia mais

Capítulo 1. Introdução

Capítulo 1. Introdução Capítulo 1 Introdução 1.1 O que é um sistema operacional 1.2 História dos sistemas operacionais 1.3 O zoológico de sistemas operacionais 1.4 Revisão sobre hardware de computadores 1.5 Conceitos sobre sistemas

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Virtualização Conceitos e Aplicações

Virtualização Conceitos e Aplicações Virtualização Conceitos e Aplicações Eliésio Parkuts¹, Saulo Muzzolon Dufech², Regiane Orlovski³ ¹²³ Tecnologia em Análise e Desenvolvimento de Sistemas CEP: 85010-00 - Faculdade Guairacá - Guarapuava

Leia mais

VIRTUALIZAÇÃO DE SERVIDORES

VIRTUALIZAÇÃO DE SERVIDORES UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANA DEPARTAMENTO ACADÊMICO DE ELETRÔNICA CURSO DE ESPECIALIZACÃO EM GERENCIAMENTO DE SERVIDORES E EQUIPAMENTOS DE REDES HUGO CHOINACKI VIRTUALIZAÇÃO DE SERVIDORES

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Evolução Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Introdução Componentes de um sistema computacional Conceituação Características desejáveis Organização

Leia mais

A Academia Brasileira de Letras diz que este verbete não existe.

A Academia Brasileira de Letras diz que este verbete não existe. Virtualização Virtualização? A Academia Brasileira de Letras diz que este verbete não existe. Virtual: Segundo o Dicionário da Língua Portuguesa, significa: adj (lat virtuale) 1- Que não existe como realidade,

Leia mais

Sistemas Operacionais: Conceitos e Mecanismos. IX - Virtualização

Sistemas Operacionais: Conceitos e Mecanismos. IX - Virtualização Sistemas Operacionais: Conceitos e Mecanismos IX - Virtualização Prof. Carlos Alberto Maziero DAInf UTFPR http://dainf.ct.utfpr.edu.br/ maziero 2 de junho de 2013 Este texto está licenciado sob a Licença

Leia mais

ANÁLISE DE DESEMPENHO ENTRE SOFTWARES VIRTUALIZADORES

ANÁLISE DE DESEMPENHO ENTRE SOFTWARES VIRTUALIZADORES ANÁLISE DE DESEMPENHO ENTRE SOFTWARES VIRTUALIZADORES Vitor Rodrigues Tanamachi 1, Weber Poli de Oliveira 1, Alexandre Galvani 1. 1 Departamento de Informática Faculdade de Tecnologia de Bauru (FATEC)

Leia mais

UNIVERSIDADE CANDIDO MENDES PÓS-GRADUAÇÃO LATO SENSU FACULDADE INTEGRADA AVM

UNIVERSIDADE CANDIDO MENDES PÓS-GRADUAÇÃO LATO SENSU FACULDADE INTEGRADA AVM UNIVERSIDADE CANDIDO MENDES PÓS-GRADUAÇÃO LATO SENSU FACULDADE INTEGRADA AVM OTIMIZAÇÃO DE RECURSOS EM TI UTILIZANDO VIRTUALIZAÇÃO Por: Anderson de Souza Campos Orientador Prof. Nelsom Magalhães Rio de

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas Arquitetura de Sistemas Operacionais Capítulo 4 Estrutura do Sistema Operacional Cap. 4 Estrutura do Sistema 1 Sistemas Operacionais Pitágoras Fadom Divinópolis Material Utilizado na disciplina Sistemas

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

Sistemas Operacionais. Conceitos de um Sistema Operacional Sistemas Operacionais Conceitos de um Sistema Operacional Modo usuário e Modo Kernel Como já vimos são ambientes de execução diferentes no processador Há um conjunto de funções privilegiadas acessadas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/11/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais LNCC - LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA ISTCC - INSTITUTO SUPERIOR DE TECNOLOGIA EM CIÊNCIAS DA COMPUTAÇÃO OUTROS TRABALHOS EM: www.projetoderedes.com.br Virtualização de Sistemas Operacionais

Leia mais

A VIRTUALIZAÇÃO COMO UM INSTRUMENTO DE APOIO À DISPONIBILIDADE DE REDES DE COMPUTADORES

A VIRTUALIZAÇÃO COMO UM INSTRUMENTO DE APOIO À DISPONIBILIDADE DE REDES DE COMPUTADORES XXIX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO. A VIRTUALIZAÇÃO COMO UM INSTRUMENTO DE APOIO À DISPONIBILIDADE DE REDES DE COMPUTADORES Andrea Martins Cristóvão (UNIP) she_ra@uol.com.br Joao Carlos Nogueira

Leia mais

O QUE É UM SISTEMA OPERACIONAL?

O QUE É UM SISTEMA OPERACIONAL? 1 SISTEMAS OPERACIONAIS: FUNDAMENTOS E FUNÇÕES WAGNER DE OLIVEIRA 2 O QUE É UM SISTEMA OPERACIONAL? Conjunto de programas que se situa entre os softwares aplicativos e o hardware Software especial que

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais LNCC - LABORATÓRIO NACIONAL DE COMPUTAÇÃO CIENTÍFICA ISTCC - INSTITUTO SUPERIOR DE TECNOLOGIA EM CIÊNCIAS DA COMPUTAÇÃO Virtualização de Sistemas Operacionais Por Rodrigo Ferreira da Silva Orientador Prof.

Leia mais

ESTUDO DE CASO WINDOWS VISTA

ESTUDO DE CASO WINDOWS VISTA ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado

Leia mais

23/05/2013. Partes do Sistema Computacional. Hardware. Ciclo do Processamento de Dados HARDWARE: CONCEITOS BÁSICOS. Hardware Software Dados Usuários

23/05/2013. Partes do Sistema Computacional. Hardware. Ciclo do Processamento de Dados HARDWARE: CONCEITOS BÁSICOS. Hardware Software Dados Usuários 2 Partes do Sistema Computacional HARDWARE: CONCEITOS BÁSICOS Software Dados Usuários Introdução à Microinformática Prof. João Paulo Lima Universidade Federal Rural de Pernambuco Departamento de Estatística

Leia mais

Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com

Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com VIRTUALIZAÇÃO Professor Esp.: Douglas Diego de Paiva douglas.ddp@gmail.com Virtualização o que é? É uma forma de esconder as características físicas de uma plataforma computacional dos usuários, emulando

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Uso de Virtualização de Recursos Computacionais na Administração de Redes

Uso de Virtualização de Recursos Computacionais na Administração de Redes Uso de Virtualização de Recursos Computacionais na Administração de Redes Guilherme Piegas Koslovski, Márcio Parise Boufleur, Andrea Schwertner Charão 1 Laboratório de Sistemas de Computação (LSC) Curso

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 05 Rogério Eduardo Garcia (rogerio@fct.unesp.br)

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

Leia mais

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr

ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC. Prof. Almeida Jr ARQUITETURA DE COMPUTADORES E SISTEMAS OPERACIONAIS P/ CONCURSOS PÚBLICOS FOCO: ESAF/CESGRANRIO/FCC Prof. Almeida Jr ESTRUTURA DE SISTEMA COMPUTACIONAL 2 O QUE FAZ UM SISTEMA OPERACIONAL? Ponto de Vista

Leia mais

Departamento de Tecnologia da Informação

Departamento de Tecnologia da Informação Xen - O case de virtualização da Alergs XIII Enial - Brasília Novembro/2010 DTI Superintendência Administrativa e Financeira Assembleia Legislativa do RS Tópicos abordados: A infraestrutura de TI Alergs

Leia mais

40 ERAD 2009 Caxias do Sul, 17 a 20 de março de 2009

40 ERAD 2009 Caxias do Sul, 17 a 20 de março de 2009 40 ERAD 2009 Caxias do Sul, 17 a 20 de março de 2009 4.1. Introdução A virtualização e o uso de máquinas virtuais se tornaram um assunto destaque no mundo da tecnologia da informação (TI), apesar de não

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Consolidação de Servidores com VMware

Consolidação de Servidores com VMware Herles da Silva Rangel Curso de Especialização em Redes e Segurança Pontifica Universidade Católica do Paraná (PUC-PR) Curitiba, Maio de 2009 Resumo O presente trabalho trata da implementação de uma proposta

Leia mais

ANA PAULA MATIAS COMPARAÇÃO ARQUITETURAL E DE DESEMPENHO DE AMBIENTES DE VIRTUALIZAÇÃO JOINVILLE, SC JULHO, 2009

ANA PAULA MATIAS COMPARAÇÃO ARQUITETURAL E DE DESEMPENHO DE AMBIENTES DE VIRTUALIZAÇÃO JOINVILLE, SC JULHO, 2009 I ANA PAULA MATIAS COMPARAÇÃO ARQUITETURAL E DE DESEMPENHO DE AMBIENTES DE VIRTUALIZAÇÃO JOINVILLE, SC JULHO, 2009 II UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS DEPARTAMENTO

Leia mais

USO DE MÁQUINAS VIRTUAIS PARA O DESENVOLVIMENTO DE AMBIENTES DE PROJETOS

USO DE MÁQUINAS VIRTUAIS PARA O DESENVOLVIMENTO DE AMBIENTES DE PROJETOS USO DE MÁQUINAS VIRTUAIS PARA O DESENVOLVIMENTO DE AMBIENTES DE PROJETOS Felipe Terror Lima 1, Marcelo Marques Gomes 2, Paulo Guilherme Seifer 3, Roberto Scalco 4 Abstract This work presents a proposal

Leia mais

Virtualização. Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com

Virtualização. Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com Virtualização Hardware Virtual? Máquina Virtual? Software ou Hardware? Profº André Luiz andreluizsp@gmail.com O problema...... os departamentos de TI passaram a ter consciência de que os recursos como

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

Visão Geral de Sistemas Operacionais

Visão Geral de Sistemas Operacionais Visão Geral de Sistemas Operacionais Sumário Um sistema operacional é um intermediário entre usuários e o hardware do computador. Desta forma, o usuário pode executar programas de forma conveniente e eficiente.

Leia mais

Figura 01 Kernel de um Sistema Operacional

Figura 01 Kernel de um Sistema Operacional 01 INTRODUÇÃO 1.5 ESTRUTURA DOS SISTEMAS OPERACIONAIS O Sistema Operacional é formado por um Conjunto de rotinas (denominado de núcleo do sistema ou kernel) que oferece serviços aos usuários e suas aplicações

Leia mais

Prof. Gregorio Perez gregorio@uninove.br 2007

Prof. Gregorio Perez gregorio@uninove.br 2007 Sistemas Operacionais I Parte I Introdução Roteiro Prof. Gregorio Perez gregorio@uninove.br 2007 1 Introdução 1.1 O que é um Sistema Operacional? 1.2 Motivações 2 Breve História 2.1 Décadas de 1940s e

Leia mais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais

1º Estudo Dirigido. Capítulo 1 Introdução aos Sistemas Operacionais 1º Estudo Dirigido Capítulo 1 Introdução aos Sistemas Operacionais 1. Defina um sistema operacional de uma forma conceitual correta, através de suas palavras. R: Sistemas Operacionais são programas de

Leia mais

UNIVERSIDADE DE BRASÍLIA

UNIVERSIDADE DE BRASÍLIA PROPOSTA PARA DISPONIBILIZAÇÃO AUTOMATIZADA DE INFRAESTRUTURA DE TECNOLOGIA DA INFORMAÇÃO INTEGRADA COM CATÁLOGO DE SERVIÇOS OSMAR RIBEIRO TORRES DISSERTAÇÃO DE MESTRADO EM ENGENHARIA ELÉTRICA DEPARTAMENTO

Leia mais

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1

Princípios de TI - Computadores. Sistema Operacional. CECOMP Colegiado de Engenharia da Computação. Prof. Fábio Nelson. Slide 1 Sistema Operacional Slide 1 Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware: Gerencia os recursos do computador (CPU, dispositivos periféricos). Estabelece

Leia mais

Introdução. 1.1. Âmbito do Documento

Introdução. 1.1. Âmbito do Documento Introdução Embora o conceito de virtualização, não seja um conceito novo, o uso desta tecnologia vem crescendo exponencialmente nas infra-estruturas de TI. Este crescimento deve-se sobretudo aos benefícios

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 1. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 1 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Xen Básico sobre Plano de Fundo e Virtualização

Xen Básico sobre Plano de Fundo e Virtualização 1 Xen Básico sobre Plano de Fundo e Virtualização Xen é um monitor de máquina virtual (hipervisor) que permite que se O utilize um computador físico para executar muitos computadores virtuais por exemplo,

Leia mais

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos:

Sistemas Operacionais Cap 3 Estruturas de Sistemas Operacionais. Podemos analisar um sistema operacional sob diversos aspectos: Estruturas de Sistemas Operacionais Podemos analisar um sistema operacional sob diversos aspectos: Os serviços que o sistema operacional oferece. A interface que o sistema operacional torna disponível

Leia mais

VirtualBox Mario Hato Instituto de Computação UNICAMP VirtualBox

VirtualBox Mario Hato Instituto de Computação UNICAMP VirtualBox Mario Hato Instituto de Computação UNAMP 1 Motivação Infraestrutura de computação - 2000 1 PC 1 SO Vários Aplicativos Utilização Baixa < 25% App App App App App App App App X86 Windows XP X86 Windows 2003

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955

Introdução. O que vimos. Infraestrutura de Software. (cont.) História dos Sistemas Operacionais. O que vimos 12/03/2012. Primeira geração: 1945-1955 O que vimos Infraestrutura de Software Introdução (cont.) Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como uma

Leia mais

BOLETIM TÉCNICO NComputing Brasil - #110502 Instalando o Oracle Virtualbox 4.0.2 e Criando uma VM Windows Server 2008 no Virtualbox O que é virtualbox? O virtualbox é um aplicativo de virtualização multi-plataforma

Leia mais