UNIVERSIDADE ANHEMBI MORUMBI DÊNIO ROBSON VAL SILVA FELIPE BARATOJO FLORES NEIDE SOARES SALES

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

Download "UNIVERSIDADE ANHEMBI MORUMBI DÊNIO ROBSON VAL SILVA FELIPE BARATOJO FLORES NEIDE SOARES SALES"

Transcrição

1 UNIVERSIDADE ANHEMBI MORUMBI DÊNIO ROBSON VAL SILVA FELIPE BARATOJO FLORES NEIDE SOARES SALES LINGUAGEM DE PROGRAMAÇÃO INTERPRETADA UTILIZADA NA CONFIGURAÇÃO DE APLICATIVOS VOLTADOS PARA SISTEMAS MULTI-PLATAFORMA COM IMPLEMENTAÇÃO EM AMBIENTE PARAVIRTUALIZADO São Paulo 2010

2 DÊNIO ROBSON VAL SILVA FELIPE BARATOJO FLORES NEIDE SOARES SALES LINGUAGEM DE PROGRAMAÇÃO INTERPRETADA UTILIZADA NA CONFIGURAÇÃO DE APLICATIVOS VOLTADOS PARA SISTEMAS MULTI-PLATAFORMA COM IMPLEMENTAÇÃO EM AMBIENTE PARAVIRTUALIZADO Monografia apresentada como exigência parcial para a obtenção do título de bacharel em Ciência da Computação pela Universidade Anhembi Morumbi Orientador: Professor Msc. Luciano Freire São Paulo 2010

3 UNIVERSIDADE ANHEMBI MORUMBI BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DÊNIO ROBSON VAL SILVA FELIPE BARATOJO FLORES NEIDE SOARES SALES LINGUAGEM DE PROGRAMAÇÃO INTERPRETADA UTILIZADA NA CONFIGURAÇÃO DE APLICATIVOS VOLTADOS PARA SISTEMAS MULTI-PLATAFORMA COM IMPLEMENTAÇÃO EM AMBIENTE PARAVIRTUALIZADO Monografia apresentada como exigência parcial para a obtenção do título de bacharel em Ciência da Computação pela Universidade Anhembi Morumbi Aprovado Prof. Msc. Luciano Freire Universidade Anhembi Morumbi Prof... Universidade Anhembi Morumbi Prof.... Universidade Anhembi Morumbi

4 UNIVERSIDADE ANHEMBI MORUMBI Dedicamos este trabalho de conclusão de curso a todos os nossos familiares que nos apoiaram, à Anhembi Morumbi por ter acreditado no Curso Superior em Ciência da Computação e ao orientador, Professor que, com dedicação e conhecimento, orientou-nos no decorrer deste trabalho.

5 AGRADECIMENTOS Agradecemos aos colegas que contribuíram e incentivaram para a realização deste trabalho e também aos professores que com sabedoria nos acompanharam nestes anos em que decorreu o curso e, em especial, ao nosso orientador que nos acompanhou em todas as etapas deste trabalho. Também aos amigos e à família pela compreensão de nossa ausência para a elaboração do mesmo.

6 Nossas dúvidas são traidoras e nos fazem perder o que, com freqüência, poderíamos ganhar, por simples medo de arriscar. (William Shakespeare)

7 RESUMO Esta monografia apresenta um breve estudo sobre a tecnologia da virtualização explorando os benefícios dos tipos de virtualização existentes, e principalmente da paravirtualização, com o objetivo de desenvolver uma linguagem interpretada para ser utilizada em aplicativos hospedeiros. São praticamente inexistentes as linguagens de programação voltadas à configuração e, embora a linguagem seja voltada a qualquer plataforma, a implementação foi realizada em um ambiente paravirtualizado por facilitar a criação de ambientes diversificados sem necessidade de hardware adicional, apresentando um desempenho razoável. Este trabalho não envolve a criação de um compilador, mas de uma linguagem, na condição de linguagem de extensão aplicada ao software hospedeiro Asterisk e às etapas para a implementação da mesma em um ambiente paravirtualizado. Para o desenvolvimento deste trabalho, foi necessária a realização de um estudo a respeito dos tipos de virtualização, através da análise de documentos da IBM, Xen, VmWare e outros fabricantes importantes, para que então optássemos pela utilização do Xen como software de virtualização. Quatro etapas principais foram necessárias para a conclusão do trabalho: a pesquisa a respeito das tecnologias existentes, tanto para virtualização como para utilização da linguagem interpretada; a criação do ambiente paravirtualizado; a criação da linguagem interpretada utilizada no aplicativo hospedeiro Asterisk e a junção do ambiente virtualizado criado com a linguagem desenvolvida. Palavras-Chave: Virtualização, Linguagem Interpretada, Xen, Asterisk.

8 ABSTRACT This monograph presents a brief study about virtualization technology by exploring the benefits of existing virtualization types, and mainly the paravirtualization with the goal of developing an interpreted language to be used in host applications. Practically it doesn t exist programming languages directed to configuration and although the language is geared to any platform, the implementation was done in a paravirtualized environment by facilitating the creation of diversified environments without requiring additional hardware and showing reasonable performance. The work does not involve the creation of a compiler, but a language, as an extension language applied to the host software Asterisk, and the steps to implement it in a paravirtualized environment. To develop the work was necessary to carry out a study about the types of virtualization through documents from IBM, Xen, VmWare and other major manufacturers to take back the conclusion that we should use the Xen virtualization software. Four main steps were necessary for completion of the work: research on existing technologies, for both to use virtualization as the interpreted language; the creation of paravirtualized environment; the creation of the interpreted language used in the host application Asterisk, and the join of the virtualized environment created with the language developed. Key words: Virtualization, Interpreted Language, Xen, Asterisk.

9 LISTA DE FIGURAS Figura 1 - Várias máquinas virtuais em um único hardware Figura 2 Tecnologia com mais impacto na transformação dos processos de negócio 20 Figura 3 - Emulação de hardware Figura 4 - Virtualização completa Figura 5 - Paravirtualização Figura 6 - Virtualização de sistema operacional Figura 7 VmWare ESX Figura 8 Componentes do Xen Figura 9 User mode Linux Figura 10 - Linguagem interpretada Figura 11 - Linguagem compilada Figura 12 Instalação Xen Figura 13 Instalando o Hypervisor e Ferramentas Figura 14 Domínio 0 configurado Figura 15 Processo de inicialização Figura 16 Tratamento de chamada Figura 17 Compilação do módulo Figura 18 Diretório de módulos do Asterisk Figura 19 Arquivo sip.conf Figura 20 Topologia final Figura 21 Módulo carregado com sucesso Figura 22 Módulo não carrega sem extensions.dfn Figura 23 CDR Figura 24 Ligação realizada... 62

10 LISTA DE TABELAS Tabela 1 Ferramentas de virtualização...26 Tabela 2 Suporte Xen Tabela 3 Suporte Xen Tabela 4 Tipos de linguagens...35

11 LISTA DE ABREVIATURAS E SIGLAS AMD Advanced Micro Devices AMD-V Advanced Micro Devices Virtualization API (Application Programming Interface): Interface de Programação de Aplicações BIOS (Basic Input/Output System): Sistema básico de entrada/saída CD-ROM (Compact Disk Read Only Memory): Disco Compacto com Memória somente leitura CMS Conversational Monitor System CPU (Central Processing Unit): Unidade de Processamento Central GHz Gigahertz HD (Hard Disk): Disco Rígido IAX Inter Asterisk Exchange IBM International Business Machines IDC International Data Corporation IDE (Integrated Development Environment): Ambiente de Desenvolvimento Integrado IETF Internet Engineering Task Force Intel-VT (Intel Virtualization Technology): Tecnologia de Virtualização da Intel KVM Kernel-based Virtual Machine MGCP Media Gateway Control Protocol MIT Massachusetts Institute of Technology PBX Private Branch Exchanges PSTN Public Switched Telephone Network RAM (Random Access Memory): Memória de Acesso Aleatório

12 SIP Session Initiation Protocol SLA (Service Level Agreement): Acordo de Nível de Serviço TCP Transmission Control Protocol TI Tecnologia da Informação UDP User Datagram Protocol UML User Mode Linux USB Universal Serial Bus VBS Visual Basic Script VGA Video Graphics Array VM (Virtual Machine): Máquina Virtual VMM (Virtual Machine Monitor): Monitor de Máquina Virtual VoIP (Voice over IP): Voz Sobre IP VT (Virtualization Technology): Tecnologia de Virtualização

13 SUMÁRIO 1 INTRODUÇÃO OBJETIVOS JUSTIFICATIVA ABRANGÊNCIA ESTRUTURA DO TRABALHO VIRTUALIZAÇÃO INTRODUÇÃO SOBRE VIRTUALIZAÇÃO HISTÓRIA DA VIRTUALIZAÇÃO NECESSIDADE DA VIRTUALIZAÇÃO EMULAÇÃO DE HARDWARE VIRTUALIZAÇÃO COMPLETA PARAVIRTUALIZAÇÃO VIRTUALIZAÇÃO DE SISTEMA OPERACIONAL HARDWARE COM SUPORTE À VIRTUALIZAÇÃO FERRAMENTAS PARA VIRTUALIZAÇÃO BOCHS QEMU VMWARE LINUX KVM HYPER-V XEN UML ASTERISK SIP MGCP IAX LINGUAGENS DE PROGRAMAÇÃO LINGUAGENS INTERPRETADAS LINGUAGEM DE EXTENSÃO OU SCRIPT LINGUAGENS COMPILADAS METODOLOGIA VIRTUALIZAÇÃO LINGUAGEM INTERPRETADA TESTES FINAIS DESENVOLVIMENTO... 44

14 7.1 CONFIGURAÇÃO DO AMBIENTE DETALHES DE IMPLEMENTAÇÃO DA PARAVIRTUALIZAÇÃO INSTALAÇÃO ASTERISK INTERAÇÃO ENTRE O ASTERISK E O MÓDULO DA LINGUAGEM DFN DESENVOLVIMENTO DA LINGUAGEM INTERPRETADA PARA SISTEMA MULTI-PLATAFORMA VARIÁVEIS E TIPOS ATRIBUIÇÕES OPERADORES ARITMÉTICOS E RELACIONAIS ORDEM DE PRECEDÊNCIA DOS OPERADORES COMENTÁRIOS FUNÇÕES DA LINGUAGEM FUNÇÕES DE MANIPULAÇÃO DE STRING CONTROLE DE FLUXO E LAÇOS ITERATIVOS TOMADAS DE DECISÃO COM IF LAÇOS ITERATIVOS COM TOMADA DE DECISÃO NO INÍCIO (WHILE) LAÇOS ITERATIVOS COM TOMADA DE DECISÃO NO FIM (REPEAT/UNTIL) ANALISADOR DE EXPRESSÃO IMPLEMENTAÇÃO DA LINGUAGEM INTERPRETADA NO SISTEMA PARAVIRTUALIZADO CONCLUSÃO REFERÊNCIAS BIBLIOGRÁFICAS APÊNDICE A CÓDIGO FONTE DA LINGUAGEM APÊNDICE B ARQUIVOS DE CONFIGURAÇÃO DO ASTERISK E MÓDULO DE CARGA APÊNDICE C ARQUIVO DE CONFIGURAÇÃO DO XEN

15 15 1 INTRODUÇÃO A virtualização possibilita a definição de diversas máquinas lógicas em apenas um único hardware, fazendo com que a utilização de recursos aumente, além de facilitar a consolidação e segurança de ambientes computacionais. Segundo Bernard Golden e Clark Scheffy (2008, p.06 e 07), muitos data centers possuem máquinas sendo utilizadas com apenas 10% a 15% de sua capacidade total de processamento e, além disso, a necessidade de máquinas distintas para aplicações diferentes aumenta ainda mais a infra-estrutura, dificultando a administração, aumentando os gastos com manutenção, gerenciamento e energia. Uma linguagem de programação interpretada como linguagem de extensão permite a utilização de aplicativos hospedeiros em ambiente multi-plataforma, pois esta não está vinculada à linguagem de máquina do ambiente e sim ao interpretador. A razão para o desenvolvimento deste trabalho baseia-se no fato de que hoje em dia são praticamente inexistentes linguagens de programação voltadas à configuração de aplicativos que exijam agilidade na administração, alta disponibilidade e resiliência. Alguns aplicativos já possuem essa tecnologia, como por exemplo, o software de PBX VoIP Asterisk, que pode fazer uso de linguagens de extensão como alternativa à utilização de arquivos de configuração para facilitar seu uso e administração. 1.1 OBJETIVOS O objetivo deste trabalho é desenvolver uma linguagem de programação interpretada (extensível) para permitir maior flexibilidade na parametrização de aplicativos que necessitem do uso de configuração para o seu funcionamento. Como exemplo, esta linguagem será voltada para o software Asterisk. Será utilizada a paravirtualização como ambiente de implementação do Asterisk e da linguagem desenvolvida facilitando a administração e possibilitando um SLA (Service Level Agreement) elevado. 1.2 JUSTIFICATIVA A justificativa deste trabalho consiste nas dificuldades práticas em criar ambientes configuráveis de forma flexível. São praticamente inexistentes as linguagens de programação voltadas à configuração, principalmente no âmbito dos sistemas embarcados. Esta linguagem, ou mais precisamente, interpretador, é direcionado a qualquer plataforma. Entretanto, neste trabalho a implementação será realizada em um

16 16 ambiente paravirtualizado, visto que a paravirtualização é uma tecnologia que facilita a criação de ambientes diversificados, sem a necessidade de adquirir hardwares com suporte a virtualização, além de facilitar a implementação de máquinas adicionais com sistemas que podem ou não estar integrados uns com os outros e com confiabilidade. 1.3 ABRANGÊNCIA Este trabalho abrange o desenvolvimento da linguagem na forma de interpretador na condição de linguagem de extensão, que será implementada em um ambiente paravirtualizado. Não faz parte do escopo deste trabalho o desenvolvimento de um compilador, mas sim de uma linguagem que possa ser embutida em outros aplicativos, que neste caso será no software Asterisk. O próprio software Asterisk é quem agirá como interpretador. Embora a virtualização não seja uma condição obrigatória para o uso da linguagem, ela será utilizada na implementação da solução, dada sua flexibilidade. 1.4 ESTRUTURA DO TRABALHO A estrutura do trabalho está dividida nos seguintes capítulos: O capítulo 2 aborda a definição de virtualização e as técnicas existentes. O capítulo 3 aborda a explicação das ferramentas de virtualização mais conhecidas no mercado, tanto as livres quanto as pagas. O capítulo 4 mostra o que é o Asterisk e suas principais características. O capítulo 5 trata do conceito de linguagem interpretada com exemplos de aplicação. O capítulo 6 aborda a metodologia do trabalho. O capítulo 7 mostra a criação do ambiente paravirtualizado em preparação para implementação da linguagem interpretada, assim como os detalhes da criação da linguagem e utilização da API do Asterisk para que este entenda e interprete a linguagem desenvolvida. Além disso, haverá detalhes da implementação da linguagem no ambiente paravirtualizado, com considerações e resultados finais. O capítulo 8 aborda a conclusão do trabalho e trabalhos futuros.

17 17 2 VIRTUALIZAÇÃO Em meio às muitas tecnologias que surgiram nos últimos anos, a virtualização é um conceito que está sendo cada vez mais utilizado na área de tecnologia da informação. De acordo com a IBM (2005), a virtualização simplifica a infra-estrutura, reduz a complexidade e os custos otimizando os recursos. Para qualquer área dentro de uma empresa, a virtualização pode ser útil, pois muitos sistemas podem estar baseados e implementados em sistemas virtualizados, aumentando a disponibilidade, resiliência e facilitando a administração. Sempre há prós e contras a respeito de qualquer conceito, inclusive a virtualização. Neste capítulo serão apresentados os conceitos, os tipos de virtualização mais conhecidos, os benefícios de se utilizar a tecnologia citada e a diversidade de ferramentas existentes. 2.1 INTRODUÇÃO SOBRE VIRTUALIZAÇÃO De acordo com Bernard Golden e Clark Scheffy (2008, p.06 e 07), hoje muitos data centers possuem máquinas sendo utilizadas com apenas 10% a 15% da capacidade total de processamento. Em outras palavras, 85% a 90% da capacidade das máquinas não são utilizadas. Além disso, a necessidade de novas aplicações e sistemas faz com que novos servidores e máquinas de todos os tipos sejam adquiridos e que os data centers precisem de cada vez mais espaço para disposição de servidores. Figura 1 - Várias máquinas virtuais em um único hardware Fonte: VmWare (2008)

18 18 De maneira simples, a virtualização é uma técnica para se utilizar diversos sistemas operacionais distintos, mas em um único hardware, conforme ilustra a Figura 1. De acordo com Jones (2006), virtualizar significa pegar algo que está em uma forma e fazê-la parecer de outra forma. Virtualizar um computador significa fazê-lo parecer múltiplos computadores ou um computador completamente diferente. Dependendo do ponto de vista, também pode significar fazer com que muitos computadores pareçam um único computador. Isto pode ser chamado de Server Agregation (agregação de servidores) ou Grid Computing (grid de computadores). A virtualização emula componentes de hardware para o sistema operacional através de técnicas, hardwares e softwares de virtualização. Essas técnicas são hoje utilizadas tanto para desktops quanto para servidores. O conceito de virtualização não é algo recente, mas após uma longa jornada passou a evoluir de maneira considerável nos últimos anos. Surgiram então diversas abordagens, mostrando varias vantagens e desvantagens dependendo da técnica a ser utilizada. [...] Uma máquina virtual não pode ser comprometida pela operação de qualquer outra máquina virtual. Ela fornece um ambiente computacional privado, seguro e confiável para seus usuários. [...] Novas facilidades, como sistemas de banco de dados ou suporte a dispositivos especializados podem ser adicionados sem modificação ou corrompimento das atuais capacidades. [...] (CREASY, 1981, p.487) 2.2 HISTÓRIA DA VIRTUALIZAÇÃO De acordo com a IBM (2006), a virtualização não é um tópico novo, pois o conceito de virtualização surgiu por volta do ano de 196 quando a IBM, em conjunto com o MIT (Massachusetts Institute of Technology), tratava de um projeto chamado M44/44X. A meta era avaliar os conceitos de sistema de compartilhamento de tempo (Compatible Time-Share System, como era chamado). A máquina principal era um IBM 704 (M44) e cada máquina virtual era uma imagem experimental da máquina principal (44X). O espaço de endereçamento do 44X residia na hierarquia de memória do M44 e, além disso, era utilizado um sistema de memória virtual e multiprogramação.

19 19 Este Mainframe executava duas máquinas virtuais, uma para executar programas e outra para o sistema. O sistema operacional do Mainframe era chamado de Supervisor. Alguns anos depois a IBM desenvolveu os computadores da família 360. Foi lançado o Mainframe System/360. Nesse Mainframe o hardware era acessado pela interface chamada VMM (Virtual Machine Monitor). O VMM permitia a execução das máquinas virtuais onde cada máquina executava uma instância do sistema operacional principal. O VMM executava diretamente na camada de hardware, permitindo múltiplas máquinas virtuais (VMs). Cada VM podia executar uma instância do sistema operacional nos dias mais antigos isto era o CMS, ou Conversational Monitor System. A VM continuou a avançar, e hoje podemos encontrá-la sendo executada no mainframe System z9. Isto fornece compatibilidade antiga até mesmo com a linha System/360. (JONES, 2006) De acordo com Manfrin (2010), na época, os Mainframes eram máquinas X86 com um grande poder de processamento, mas que não eram completamente aproveitadas, utilizando somente de 10 a 15% de sua capacidade, pois normalmente eram implementadas para aplicações específicas, diminuindo os riscos de ficarem fora de produção. 2.3 NECESSIDADE DA VIRTUALIZAÇÃO De acordo com a VmWare (2010), a virtualização foi praticamente abandonada durante os anos 80 e 9 quando aplicações cliente-servidor, servidores e desktops X86 começaram a ser distribuídos. A adoção de sistemas operacionais Linux e Windows como sistemas para servidores começaram a ser o padrão da indústria. Com esse crescimento de servidores e desktops X86, passou a surgir uma nova infra-estrutura de TI e novos desafios operacionais. A VmWare, uma das empresas que fornecem tecnologia de virtualização, informa que alguns desses desafios são: - Baixa utilização de infraestrutura. De acordo com a IDC (International Data Corporation), a distribuição de servidores x86 atinge uma média de utilização de 10% a 15% da capacidade total. As organizações geralmente executam uma aplicação por servidor para evitar riscos de vulnerabilidade, ou seja, para que problemas afetando uma aplicação, não afetem a disponibilidade de outra que esteja no mesmo servidor;

20 20 - Aumento do custo da infraestrutura física. É necessário suprir os custos operacionais do crescimento da infraestrutura. A maioria dos ambientes computacionais precisa estar disponível em quase 100% do tempo, resultando em consumo de energia, resfriamento, e custos que não variam; - Aumento do custo de gerenciamento de TI. Devido aos ambientes computacionais se tornarem mais complexos, os custos associados ao nível de educação especializada e experiência requerida para o gerenciamento da infraestrutura aumentam consideravelmente; - Proteção insuficiente contra desastres e falhas. Organizações são afetadas devido à inacessibilidade a aplicações críticas. Ameaças a segurança por meio de ataques, desastres naturais e terrorismos aumentaram a importância do planejamento continuo dos negócios, tanto para desktops como para servidores; - Alta manutenção de desktops de usuários finais. Diversos desafios são apresentados às empresas quando gerenciam e fornecem segurança para desktops. Controlar e gerenciar um ambiente de desktop distribuído, com diretivas de acesso e segurança sem impactar na habilidade do usuário de trabalhar efetivamente, é complexo e caro. De acordo com uma pesquisa realizada com empresas de IT (Information Technology) e com LOB (Line Of Business outras áreas de negócio) pela IDC (2008), a tecnologia que tem mais impacto na transformação dos processos de negócio na área de TI, conforme Gráfico 1, é a virtualização. Figura 2 Tecnologia com mais impacto na transformação dos processos de negócio Fonte: IDC (2008)

21 21 Devido a essas e outras necessidades, as técnicas de virtualização foram surgindo e evoluindo em grande escala. Segundo a Gartner (2008), é esperado que o número de computadores virtualizados cresça de menos de 5 milhões em 2007 para 660 milhões em 2011, e Pettey (2008) diz que a virtualização é o problema que terá maior impacto até 2012, modificando infraestruturas e operações e modificando também a maneira de comprar e de gerenciar. 2.4 EMULAÇÃO DE HARDWARE De acordo com Jones (2007), a emulação de hardware nada mais é do que a virtualização do hardware. Provavelmente quando se fala em virtualização, a emulação de hardware é indicada como a mais complexa. Através das camadas virtuais de hardware é possível criar diferentes ambientes utilizando a mesma máquina física, conforme ilustra a Figura 2. Figura 3 - Emulação de hardware Fonte: IBM (2006) Com a emulação de hardware alguns benefícios são apresentados, como por exemplo: É possível simular diversos processadores, mesmo que o hardware real possua apenas um processador físico. Pode-se também executar diversas máquinas virtuais, cada uma simulando um processador diferente. Uma das utilizações mais importantes da emulação de hardware é no desenvolvimento de firmware e hardware. Ao invés de esperar até que o hardware esteja disponível, os desenvolvedores de firmware podem utilizar o hardware VM alvo para validar muitos aspectos de seus códigos atuais em simulação. (JONES, 2006) Este tipo de virtualização precisa de um software que entenda as instruções da arquitetura que se deseja emular. Esta é a técnica utilizada pelos desenvolvedores de emuladores de vídeo-game, na qual o software irá converter as instruções recebidas da

22 22 arquitetura em que se está emulando, para que o sistema operacional convidado (também conhecido por GuestOS) possa entender as instruções. 2.5 VIRTUALIZAÇÃO COMPLETA De acordo com a VmWare (2007) a virtualização completa é uma técnica utilizada para fornecer um ambiente de máquina virtual, que simula de maneira completa o hardware como réplica do hardware real. Figura 4 - Virtualização completa IBM (2006) Segundo Menascé (2005), o sistema operacional executado através de virtualização completa, que pode ser chamado de sistema operacional convidado, não necessita de modificações, visto que é executado através do VMM, o monitor de máquina virtual. O VMM é uma camada de software mais próxima ao hardware. Esta camada, que está entre o hardware e o sistema operacional convidado concede uma abstração da máquina virtual, conforme ilustra a Figura 3. O VMM suporta um número muito grande de dispositivos. Por isso a Virtualização completa utiliza dispositivos genéricos para fazer com que a máquina virtual execute. O fato destes dispositivos não serem específicos faz com que o desempenho da máquina virtual não seja atingido em sua totalidade. A máquina virtual acredita ser executada em um hardware real. Logo, o VMM precisa testar as instruções passadas pela máquina virtual para que em seguida as execute diretamente no hardware. Isso também acontece quando o hardware fornece alguma instrução, pois o VMM primeiro interpreta e testa a instrução antes de passar para a máquina virtual. Além dos aspectos citados, o VMM ainda precisa controlar alguns aspectos relacionados à disputa de recursos, o que causa certa queda de desempenho, visto que os sistemas operacionais foram desenvolvidos para não coexistirem com outros tentando utilizar os mesmos recursos.

23 PARAVIRTUALIZAÇÃO Segundo Origuela (2006), a técnica de paravirtualização utiliza um conceito parecido com o da virtualização completa. Nesta, o sistema operacional convidado é alterado para interagir com o VMM, para então decidir quais instruções devem ser interpretadas nele ou diretamente no hardware. Os drivers de dispositivos de sistemas paravirtualizados entendem que estão sendo executados como um sistema virtualizado, por isso, durante as requisições, os drivers dos dispositivos da máquina convidada conversam com os drivers reais do sistema operacional principal. De acordo com Jones (2007) a técnica de paravirtualização não simula recursos de hardware, mas ao invés disso oferece uma interface de programação de aplicação (API) para as máquinas virtuais hospedadas, e para isso, o sistema operacional precisará ter sido modificado para suportar tal interface. A paravirtualização é suportada em sistemas que foram modificados para entender que certas requisições, que seriam feitas diretamente ao hardware físico, deverão na verdade ser realizadas primeiramente ao VMM ou Hypervisor, como é chamado muitas vezes, para que o VMM se comunique com o host e aja diretamente no hardware, para então devolver as respostas das requisições. A paravirtualização utiliza o conceito de domínios. Existe um domínio chamado domínio zero, onde reside o sistema operacional que tem acesso direto ao hardware. Este domínio precisa possuir um sistema que foi modificado para suportar paravirtualização como domínio zero, e é através dele que é realizado o gerenciamento das máquinas virtuais. Figura 5 - Paravirtualização Fonte: Uberhip (2007)

24 24 Além do domínio zero, existe o domíniou, onde residem as máquinas virtuais. Cada máquina virtual que reside em um domíniou também precisa ter sido modificada. Cada domíniou executa uma instância completa de um sistema operacional. Para utilizar a paravirtualização, não é necessária a utilização de hardware com suporte à virtualização, pois os sistemas operacionais já são modificados para suportar esta técnica, conforme ilustra a Figura 4. De acordo com a IBM (2006), a paravirtualização oferece um desempenho muito próximo ao de sistemas não virtualizados. 2.7 VIRTUALIZAÇÃO DE SISTEMA OPERACIONAL De acordo com o arquiteto da Microsoft Chantry (2009), a técnica da Virtualização de sistema operacional utiliza um sistema operacional como sistema base. Os sistemas convidados compartilham os mesmos recursos e drivers do sistema operacional base, mesmo que pareçam computadores totalmente separados, conforme ilustra a Figura 5. Cada sistema operacional convidado terá o seu próprio sistema de arquivos, endereço IP, configurações de servidor e executarão aplicativos totalmente diferentes. Figura 6 - Virtualização de sistema operacional Fonte: Chantry (2009) 2.8 HARDWARE COM SUPORTE À VIRTUALIZAÇÃO Diversas técnicas de virtualização existem hoje e, além disso, muitos softwares são construídos com base em uma técnica. Além da construção de softwares com suporte à virtualização, existem hardwares que são produzidos para auxiliar tais softwares na execução de tarefas essenciais, de acordo com a Intel (2010).

25 25 A Intel lançou a tecnologia Intel VT (Intel Virtualization Techonlogy) que está presente em diversos processadores para auxiliar softwares de virtualização e, de acordo com a Intel (2010), proporcionar a utilização máxima do sistema por meio de consolidação de ambientes em um único servidor ou PC. Além da Intel VT a empresa AMD possui a tecnologia chamada AMD-V. De acordo com a AMD (2009) a tecnologia foi desenvolvida para aumentar drasticamente o desempenho da aplicação virtualizada, possibilitando também a alternância mais rápida entre máquinas virtuais, para que mais máquinas virtuais possam ser hospedadas por servidor, maximizando os benefícios da virtualização. Os hardwares com suporte à virtualização auxiliam os softwares de virtualização para que os sistemas operacionais não precisem ser modificados para poderem ter um melhor desempenho durante sua execução. Alguns softwares de virtualização funcionam com um bom desempenho apenas quando o hardware possui suporte à virtualização. Entretanto, há softwares que não necessitam de hardware com suporte à virtualização, mas que conseguem um ótimo desempenho durante a execução de máquinas virtuais devido ao fato de os sistemas operacionais terem sido modificados para tal.

26 26 3 FERRAMENTAS PARA VIRTUALIZAÇÃO Diferentes ferramentas estão disponíveis hoje e cada uma utiliza uma técnica de virtualização diferente. Na Tabela 1, pode-se visualizar as principais ferramentas disponíveis e os tipos de virtualização que utilizam. Cada ferramenta possui seus pontos fortes e fracos, incluindo ferramentas livres e pagas. Tabela 1 Ferramentas de virtualização Fonte - O autor Ferramenta Tipo Bochs Emulação QEMU Emulação VMWare Virtualização completa Linux KVM Virtualização completa Hyper-V Virtualização completa Paravirtualização Xen Paravirtualização Virtualização completa UML Paravirtualização Linux V-server Virtualização de sistema operacional Open VZ Virtualização de sistema operacional 3.1 BOCHS A ferramenta Bochs (que se pronuncia Box) é um emulador de software que não possui interface gráfica. A ferramenta é livre e emula computadores Intel x86. De acordo com a Bochs (2009), o Bochs emula apenas máquinas i386, i486, Pentium, Pentium Pro da Intel e CPUs AMD64, além de periféricos comuns como discos, memória, monitor e dispositivos de rede. A ferramenta foi desenvolvida em C++ e seu código pode ser compilado em basicamente qualquer plataforma, seja em Windows, MacOS X ou em várias versões de Unix. O software foi escrito por Kevin Lawton que ainda o mantém. O Bochs foi criado para emular sistemas operacionais Linux, DOS e Windows 95/98/XP/2000/NT. O fato de ser compatível com diversas plataformas é um ponto forte e ao mesmo tempo fraco em relação a outras máquinas virtuais, visto que os equipamentos como BIOS, placas de vídeo, som e basicamente todos os componentes são emulados através

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

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

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. 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

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

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

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

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

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

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

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

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

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 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

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

- Aula 1 - ARQUITETURA DE COMPUTADORES

- Aula 1 - ARQUITETURA DE COMPUTADORES - Aula 1 - ARQUITETURA DE COMPUTADORES Em arquitetura de computadores serão estudados aspectos da estrutura e do funcionamento dos computadores. O objetivo é apresentar de forma clara e abrangente a natureza

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

ANDRE KUSUMOTO VIRTUALIZAÇÃO

ANDRE KUSUMOTO VIRTUALIZAÇÃO ANDRE KUSUMOTO VIRTUALIZAÇÃO OBJETIVO Objetivo do deste trabalho é o autoaprendizado e a disseminação do conhecimento empregado no conceito de virtualização. Assim como a demostração de seu uso em conjunto

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

Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br. Demonstrar o impacto que o tema virtualização tem representado no mercado

Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br. Demonstrar o impacto que o tema virtualização tem representado no mercado Prof. Ms. José Eduardo Santarem Segundo santarem@univem.edu.br Demonstrar o impacto que o tema virtualização tem representado no mercado de TI. Apresentar alguns conceitos e técnicas sobre a tecnologia

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

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

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

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

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

Virtualização de desktop da NComputing

Virtualização de desktop da NComputing Virtualização de desktop da NComputing Resumo Todos nos acostumamos ao modelo PC, que permite que cada usuário tenha a sua própria CPU, disco rígido e memória para executar seus aplicativos. Mas os computadores

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

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

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

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

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

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

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

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

SO Sistemas Operacionais

SO Sistemas Operacionais GOVERNO DO ESTADO DO RIO DE JANEIRO FUNDAÇÃO DE APOIO A ESCOLA TÉCNICA ESCOLA TÉCNICA ESTADUAL REPÚBLICA SO Sistemas Operacionais Curso de Informática ETE REPÚBLICA - Rua Clarimundo de Melo, 847, Quintino

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

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Felipe Antonio de Sousa 1, Júlio César Pereira 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipeantoniodesousa@gmail.com, juliocesarp@unipar.br Resumo.

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

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 1 OBJETIVOS 1. Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações e transações empresariais?

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

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

Um Driver NDIS Para Interceptação de Datagramas IP

Um Driver NDIS Para Interceptação de Datagramas IP Um Driver NDIS Para Interceptação de Datagramas IP Paulo Fernando da Silva psilva@senior.com.br Sérgio Stringari stringari@furb.br Resumo. Este artigo apresenta o desenvolvimento de um driver NDIS 1 para

Leia mais

Virtualização de Sistemas Operacionais

Virtualização de Sistemas Operacionais Virtualização de Sistemas Operacionais Leandro Brito 1, Linsmar Pinheiro 1, Roberto Carlos Santana 1, Thiago Vasconcelos 1, Vanessa Ferraz 1 1 Curso de Sistemas de Informação na Faculdade Integrada da

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

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

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

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

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

Prof. Victor Halla. Unidade IV FUNDAMENTOS DE SISTEMAS

Prof. Victor Halla. Unidade IV FUNDAMENTOS DE SISTEMAS Prof. Victor Halla Unidade IV FUNDAMENTOS DE SISTEMAS OPERACIONAIS Conteúdo Estudo de Casos; Linux e Windows; Características; VMware e Xen; Características; Ferramentas; Custo total de posse TCO = Total

Leia mais

Implementação de Asterisk (IP PBX) Henrique Cavadas 200803845 José Figueiredo 200604114

Implementação de Asterisk (IP PBX) Henrique Cavadas 200803845 José Figueiredo 200604114 Implementação de Asterisk (IP PBX) Henrique Cavadas 200803845 José Figueiredo 200604114 20 de Dezembro de 2014 Serviços de Comunicações Conteúdo 1 Introdução 2 2 Contextualização 3 2.1 PBX...................................

Leia mais

Introdução à Programação de Computadores

Introdução à Programação de Computadores 1. Objetivos Introdução à Programação de Computadores Nesta seção, vamos discutir os componentes básicos de um computador, tanto em relação a hardware como a software. Também veremos uma pequena introdução

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

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática

16/09/2012. Agenda. Introdução. Introdução. Tipos de Software (Básico) Tipos de Software. Curso Conexão Noções de Informática Curso Conexão Noções de Informática Aula 2 Arquitetura de Computadores (Software) Agenda Introdução; Tipos de Software; Básico; Aplicativo; Livre; Proprietário. Pirataria de Software; Demos, Freewares

Leia mais

Conceitos Básicos de Informática. Antônio Maurício Medeiros Alves

Conceitos Básicos de Informática. Antônio Maurício Medeiros Alves Conceitos Básicos de Informática Antônio Maurício Medeiros Alves Objetivo do Material Esse material tem como objetivo apresentar alguns conceitos básicos de informática, para que os alunos possam se familiarizar

Leia mais

Thin Clients : aumentando o potencial dos sistemas SCADA

Thin Clients : aumentando o potencial dos sistemas SCADA Artigos Técnicos Thin Clients : aumentando o potencial dos sistemas SCADA Tarcísio Romero de Oliveira, Engenheiro de Vendas e Aplicações da Intellution/Aquarius Automação Industrial Ltda. Um diagnóstico

Leia mais

Virtualização de Desktops NComputing

Virtualização de Desktops NComputing NComputing Resumo Todos já nos acostumamos ao formato do PC, que permite que cada usuário tenha sua própria CPU, seu próprio disco rígido e sua própria memória para rodar seus aplicativos. Mas os computadores

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

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE

ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE Capítulo 6 ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall OBJETIVOS Qual é a capacidade de processamento e armazenagem que sua organização precisa para administrar suas informações

Leia mais

Curso de Engenharia de Computação VIRTUALIZAÇÃO DE SERVIDORES UTILIZANDO XEN

Curso de Engenharia de Computação VIRTUALIZAÇÃO DE SERVIDORES UTILIZANDO XEN i Curso de Engenharia de Computação VIRTUALIZAÇÃO DE SERVIDORES UTILIZANDO XEN Tiago Schievenin Gonçalves Itatiba São Paulo Brasil Dezembro de 2008 ii Curso de Engenharia de Computação VIRTUALIZAÇÃO DE

Leia mais

Benefícios do Windows Server 2008 R2 Hyper-V para SMB

Benefícios do Windows Server 2008 R2 Hyper-V para SMB Benefícios do Windows Server 2008 R2 Hyper-V para SMB Sumário Introdução... 3 Windows Server 2008 R2 Hyper-V... 3 Live Migration... 3 Volumes compartilhados do Cluster... 3 Modo de Compatibilidade de Processador...

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

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

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

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

1 - Processamento de dados

1 - Processamento de dados Conceitos básicos sobre organização de computadores 2 1 - Processamento de dados O que é processamento? O que é dado? Dado é informação? Processamento é a manipulação das informações coletadas (dados).

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

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

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER

MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER MINICURSO WINDOWS SERVER 2008 UTILIZANDO O VMWARE PLAYER TÁSSIO JOSÉ GONÇALVES GOMES tassiogoncalvesg@gmail.com MINICURSO WINDOWS SERVER 2008 TÁSSIO GONÇALVES - TASSIOGONCALVESG@GMAIL.COM 1 CONTEÚDO Arquitetura

Leia mais

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Introdução Hardware X Software Corpo Humano Parte Física Componentes 18 Capacidade de utilizar o corpo em atividades especificas explorando seus componentes Hardware Introdução Parte física: placas, periféricos,

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

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

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano

Sistemas Operacionais. Roteiro. Hardware. Marcos Laureano Sistemas Operacionais Marcos Laureano 1/25 Roteiro Estrutura de um sistema operacional Interrupções Proteção do núcleo Níveis de privilégio Chamadas de sistema 2/25 Mono-processadores atuais seguem um

Leia mais

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves

Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves Virtualização e Criação de uma rede Virtual utilizando Virtual Box Professor: João Paulo de Brito Gonçalves Anatomia de uma máquina virtual Cada máquina virtual é um sistema completo encapsulado em um

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Hardware HARDWARE Sistema Computacional = conjunto de circuitos eletrônicos interligados formado por processador, memória, registradores,

Leia mais

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total

Análise Comparativa de Desempenho do Hipervisor Xen: Paravirtualização versus Virtualização Total de Desempenho do Hipervisor Xen: Paravirtualização versus Total Andrea Schwertner Charão e Ronaldo Canofre M. dos Santos LSC - Laboratório de Sistemas de Computação Curso de Ciência da Computação UFSM

Leia mais

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1

Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 Laudon & Laudon Essentials of MIS, 5th Edition. Pg. 6.1 6 OBJETIVOS OBJETIVOS ADMINISTRAÇÃO DOS RECURSOS DE HARDWARE E SOFTWARE 6.1 2003 by Prentice Hall Qual é a capacidade de processamento e armazenagem

Leia mais

Sistemas de Informação

Sistemas de Informação Sistemas de Informação Prof. M.Sc. Diego Fernandes Emiliano Silva diego.femiliano@gmail.com Agenda Infraestrutura de TI Infraestrutura de TI: hardware Infraestrutura de TI: software Administração dos recursos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Dra. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille, da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Virtualização e kernel, vistos por dentro

Virtualização e kernel, vistos por dentro ehabkost@redhat.com Tchelinux Porto Alegre 2008 Nível: Avançado Escopo: Código e processo de desenvolvimento do kernel Pré-requisitos: Noções básicas sobre o kernel Linux e seu processo de desenvolvimento

Leia mais

Disciplina: Introdução à informática Profª Érica Barcelos

Disciplina: Introdução à informática Profª Érica Barcelos Disciplina: Introdução à informática Profª Érica Barcelos CAPÍTULO 3 1. ARQUITETURA DO COMPUTAÇÃO- SOFTWARE Vimos nos capítulos anteriores que durante muitas décadas vários projetos foram realizados para

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

Infra-Estrutura de Software. Introdução. (cont.)

Infra-Estrutura de Software. Introdução. (cont.) Infra-Estrutura de Software Introdução (cont.) O que vimos Complexidade do computador moderno, do ponto de vista do hardware Necessidade de abstrações software Sistema computacional em camadas SO como

Leia mais

Infra estrutura da Tecnologia da Informação

Infra estrutura da Tecnologia da Informação Infra estrutura da Tecnologia da Informação Capítulo 3 Adaptado do material de apoio ao Livro Sistemas de Informação Gerenciais, 7ª ed., de K. Laudon e J. Laudon, Prentice Hall, 2005 CEA460 Gestão da Informação

Leia mais