CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA

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

Download "CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA"

Transcrição

1 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTÔNIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES MAURICIO GIMENEZ VIRTUALIZAÇÃO: DESCRIÇÃO DA TECNOLOGIA E DEMONSTRAÇÃO DAS SOLUÇÕES VMWARE E CITRIX LINS/SP 1º SEMESTRE/2012

2 CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA FACULDADE DE TECNOLOGIA DE LINS PROF. ANTÔNIO SEABRA CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES MAURICIO GIMENEZ VIRTUALIZAÇÃO: DESCRIÇÃO DA TECNOLOGIA E DEMONSTRAÇÃO DAS SOLUÇÕES VMWARE E CITRIX Trabalho de Conclusão de Curso apresentado à Faculdade de Tecnologia de Lins para obtenção do Título de Tecnólogo em Redes de Computadores. Orientador: Prof. Me. Alexandre Ponce de Oliveira LINS/SP 1º SEMESTRE/2012

3 MAURICIO GIMENEZ VIRTUALIZAÇÃO DESCRIÇÃO DA TECNOLOGIA E DEMONSTRAÇÃO DAS SOLUÇÕES VMWARE E CITRIX Trabalho de conclusão de Curso apresentado à Faculdade de Tecnologia de Lins, como parte dos requisitos necessários para obtenção do título de Tecnólogo em Redes sob orientação do Prof. Me. Alexandre Ponce. Data de aprovação: / / Alexandre Ponce Examinador 1 Examinador 2

4 Aos meus pais, Joaquim e Maria Ignês. Aos meus irmãos Márcia, Marcos, Milton e Marcelo e à minha esposa Michelly, pelo apoio incondicional nesta etapa de minha vida.

5 AGRADECIMENTOS Nesta oportunidade que me é dada ao alcançar importante meta em minha vida pessoal e profissional, agradeço primeiramente a DEUS por me fazer estar aqui e por ter colocado pessoas em minha vida que me ajudaram a ser quem sou hoje. Aos meus amigos de trabalho os quais sem seu apoio e incentivo, eu não teria ingressado na faculdade. Aos meus companheiros de curso pela ajuda com as matérias iniciais, das quais eu não me recordava mais após 15 anos fora das salas de aula. Aos professores por apostarem nesta faculdade e oferecerem seu máximo para que esta venha a ficar entre as melhores. E pelos seus exemplos que nos são passados, que contribuem em muito ao nosso crescimento pessoal e profissional. Ao meu orientador Alexandre Ponce, pela ajuda com os materiais e pelo direcionamento que me foi dado. À professora Luciane Noronha pela ajuda com as correções e principalmente por nos fazer acreditar em nosso potencial.

6 RESUMO Este trabalho apresentou o conceito da virtualização, cada vez mais utilizado em empresas que visam diminuição de custos e alta disponibilidade de serviços, contribuindo para uma maior competitividade no seu mercado de atuação. Apresentou um histórico da informática como um todo, desde as máquinas de calcular manualmente como o Ábaco e os primeiros conceitos do que pode ser considerado um computador, passando pelos computadores a válvula e os computadores de grande porte nos quais se começou a utilização da virtualização, até chegar aos PCs, tão populares atualmente, juntamente com a evolução dos principais sistemas operacionais que deixaram sua marca na história da informática cujo desenvolvimento viabilizou a tecnologia conhecida atualmente. Para auxiliar no entendimento da virtualização, foi abordado o funcionamento de um computador e suas rotinas internas, como o gerenciamento de memória, controle e prioridade de processos e comunicação com dispositivos de hardware internos e externos. Este trabalho mostrou as empresas pioneiras na viabilização da virtualização em computadores de mesa e servidores de pequeno porte, e as soluções profissionais mais conhecidas atualmente. Para uma visão real de aplicação do conceito de virtualização, foi demonstrado a instalação das soluções VMware e Citrix, os passos para a criação de máquinas virtuais, e também o processo de mapeamento de Storage, item essencial para virtualização profissional, bem como a conversão de uma máquina real para virtual e a movimentação de uma VM em funcionamento entre os servidores que compõem o ambiente criado, através de ferramentas oferecidas pelas próprias soluções. Palavras-chaves: Virtualização, VMware, Citrix.

7 ABSTRACT This paper presented the concept of virtualization, increasingly used in companies seeking to lower costs and high availability of services, contributing to increased competitiveness in your market. It presented a history of computing as a whole, from calculating machines manually as the abacus and the first concepts that can be considered a computer, through the valve computers and mainframe computers in which they began the use of virtualization, until the PCs, so popular today, along with the evolution of the main operating systems that have left their mark in the history of computer science whose development has enabled the technology known today. To assist in the understanding of virtualization, it was mentioned operation of a computer and its internal routines, such as memory management, control and priority of processes and communication with hardware devices internal and external. This study demonstrated the feasibility of the pioneering companies in the virtualization on desktops and small servers, and more professional solutions currently known. For a real view of application of the concept of virtualization, it was demonstrated the installation of VMware and Citrix solutions, the steps for creating virtual machines, and also the process of mapping Storage, Virtualization essential item for professional as well as the conversion of a real virtual machine and the movement of a running VM between servers that make up the environment created by the tools offered by their own solutions. Keywords: Virtualization, VMware, Citrix.

8 LISTAS DE ILUSTRAÇÕES Figura O Ábaco e a Régua de Cálculo Figura Máquina de Pascal Figura Máquina de Diferenças Figura A máquina de Hollerith Figura O ENIAC Figura IBM Figura IBM 360/ Figura Altair Figura Apple I Figura IBM PC Figura Steve Jobs e o novo imac Figura Modelo de chassis Blade Figura o novo imac Figura IBM 7090 executando o CTSS Figura Comando em modo texto no BSD Figura Sistema operacional MS-DOS Figura Sistema X Windows System Figura Macintosh OS Figura MS-Windows Figura OS/2 Warp Figura Windows Figura Windows XP Figura MAC OS X Figura Windows Server Figura Windows Figura Ubuntu Figura Mac OS X Lion Figura Arquitetura de um computador típico Figura Estrutura de um sistema operacional Figura Funcionamento de uma interrupção Figura Separação entre núcleo e aplicação

9 Figura Uma máquina virtual Figura Virtualização do Tipo I Figura Virtualização do Tipo II Figura Exemplo de virtualização de hardware Figura Virtualização de sistema operacional Figura Virtualização de linguagem de programação Figura Arquitetura do VMware ESX Figura Arquitetura do VMware ESXi Figura Live Migration com vmotion Figura Relacionamento entre os componentes do Xen Figura Esquema do ambiente utilizado Figura Informações necessárias para conexão Figura Visualização do sumário de informações do servidor Figura Opções para administração e gerenciamento Figura Início da adição do Storage Figura Escolha do tipo de armazenamento que será utilizado Figura Informações para o mapeamento Figura Resumo das opções escolhidas Figura Mapeamento do Storage concluído Figura Opção para navegação no Storage Figura Navegação dentro do Storage Figura Início da criação de uma VM Figura Escolha de configurações típicas para a VM Figura Escolha do nome da VM Figura Escolha do local de armazenamento da VM Figura Escolha do sistema operacional e versão Figura Quantidade de placas de rede utilizadas pela VM Figura Escolha do tamanho do disco que a VM terá Figura Resumo das configurações escolhidas Figura VM criada e pronta para inicialização Figura Início da criação do novo Datacenter Figura Datacenter criado Figura Adição de um host Figura Entrada das informações do servidor

10 Figura Alerta sobre o certificado de segurança Figura Sumário do host Figura Associação à licença de uso Figura Opção de bloqueio de logon no host físico Figura Seleção do Datacenter que abrigará o host Figura Apresentação do resumo pronto para finalização Figura Host adicionado com sucesso Figura Início da conversão Figura Características da máquina a ser convertida Figura Informações do vcenter Figura Escolha do Grupo de servidores para alocar a VM Figura Seleção do servidor físico para execução inicial Figura Edição da máquina antes da conversão Figura Resumo da importação Figura Alteração de hardware detectada Figura Acessando as propriedades de rede do host Figura Habilitando o vmotion Figura Selecionando a VM para migração Figura Escolha do tipo de movimentação Figura Escolha de novo servidor destino para a VM Figura Definição de prioridade par a tarefa Figura VM após movimentação Figura Teste de conexão com o comando ping Figura Tela inicial do XenCenter Figura Adicionando um host físico ao Xencenter Figura Autenticação para conexão ao host Figura XenCenter com servidor alocado Figura Monitoramento de performance do servidor Figura Criação do Pool de servidores Figura Seleção dos servidores do Pool Figura Pool de servidores criado Figura Inicio da apresentação do Storage NFS Figura Escolha do tipo de mapeamento a ser feito Figura Definição do nome do mapeamento

11 Figura Scan do disco para associar ao Pool Figura Storage apresentado e pronto para uso Figura Criação do mapeamento CIFS Figura Escolha do tipo de compartilhamento Figura Definição do nome do mapeamento Figura Caminho na rede do compartilhamento Figura Mapeamento completo e seu conteúdo Figura Início da criação da nova VM Figura Escolha do sistema operacional para a nova VM Figura Definição do nome da VM e descrição Figura Escolha da imagem ISO para instalação Figura Escolha do servidor que iniciará a VM Figura Configuração do processador e memória Figura Escolha do local de armazenamento da VM Figura Opção de alteração das propriedades do disco Figura Seleção da interface de rede da VM Figura 4.75 Resumo com as opções escolhidas Figura Host 1 visualizando VMs alocados no Host Figura Host 2 e o consumo de CPU local Figura Configurações iniciais de origem e destino Figura Configurações de discos a serem convertidos Figura Autenticação para o servidor de destino Figura Definição de nome e local de armazenamento Figura Sistema pronto para ser convertido Figura Máquina convertida solicitando nova ativação do Windows Figura Escolha do servidor para onde será migrada a VM Figura VM após processo de movimentação Figura A.1- Tela inicial de boot do CD Figura A.2 - Telas de boas vindas Figura A.3 - Apresentação da licença de uso Figura A.4 - Seleção do disco para instalação Figura A.5 - Seleção do layout do teclado Figura A.6 - Escolha da senha de root Figura A.7 - Confirmação para o início da instalação

12 Figura A.8 - Instalação em andamento Figura A.9 - Término da instalação Figura A.10 - Servidor inicializado com sucesso Figura B.1 - Tela inicial de boot do CD Figura B.2 - Configuração do teclado Figura B.3 - Confirmação para iniciar a instalação Figura B.4 - Apresentação da licença de uso Figura B.5 - Escolha dos discos para instalação Figura B.6 - Origem dos arquivos de instalação Figura B.7 - Instalação de pacotes adicionais Figura B.8 - Opção de verificação da mídia de instalação Figura B.9 - Escolha da senha do administrador (root) Figura B.10 - Definição do nome e servidores DNS Figura B.11 - Seleção da localização geográfica Figura B.12 - Seleção do fuso horário Figura B.13 - Escolha da forma de sincronismo de horário Figura B.14 - Configuração do servidor NTP Figura B.15 - Início da instalação dos arquivos Figura B.16 - Conclusão da Instalação Figura B.17 - Console após a conclusão da instalação

13 LISTAS DE TABELAS Tabela Endereços de acesso a dispositivos Tabela Configuração das máquinas físicas utilizadas... 71

14 LISTAS DE SIGLAS API - Application Programming Interface BIOS - Basic Input Output System BSD - Berkeley Software Distribution CIFS - Common Internet File System CMS - Conversational Monitor System CTSS - Compatible Time-Sharing System DHCP - Dynamic Host Configuration Protocol DNS - Domain Name System E/S - Entrada/Saída EMA - Enterprise Management Association ENIAC - Electrical Numerical Integrator and Calculator GNU - Gnu is Not Unix GPL - General Public License IBM - International Business Machine ISA - Instruction Set Architecture MIT - Massachusetts Institute of Technology MMU - Memory Management Unit NFS - Network File System NTP Network Time Protocol P2V - Physical to Virtual PARC - Palo Alto Research Center SAAS - Software as a Service SO - Sistema Operacional ULA - Unidade Lógica e Aritmética V2V - Virtual to Virtual VMM - Virtual Machine Monitor VPN - Virtual Private Network

15 SUMÁRIO SUMÁRIO INTRODUÇÃO A HISTÓRIA DA INFORMÁTICA MÁQUINAS PARA CALCULAR A EVOLUÇÃO A Programação Funcional Boole e sua Teoria e a Máquina de Hollerith Computadores Pré-modernos e a 2ª Guerra COMPUTAÇÃO MODERNA Primeira Geração Segunda Geração Terceira Geração Quarta Geração HISTÓRICO DOS SISTEMAS OPERACIONAIS FUNCIONAMENTO DOS COMPUTADORES A ESTRUTURA BÁSICA O Hardware O Sistema Operacional Abstração e Gerência de Recursos Interrupções Proteção do Núcleo Chamadas de Sistema VIRTUALIZAÇÃO HISTÓRICO DETALHES DA VIRTUALIZAÇÃO Diferença entre Emulação e Virtualização A Virtualização Propriamente Dita Tipos de Virtualização Formas de Virtualização... 52

16 3.2.5 Técnicas para Virtualização Virtualização e Rede Virtualização de Serviços de Internet Virtualização da Infraestrutura de Rede AS CARACTERÍSTICAS DO HYPERVISOR FERRAMENTAS DE VIRTUALIZAÇÃO VMware Xen UTILIZAÇÃO DAS FERRAMENTAS AMBIENTE DE TRABALHO SOLUÇÃO DA VMWARE Apresentação do Storage Criação da VM para o vcenter Criação do Datacenter vcenter Converter vmotion Considerações sobre o vmotion SOLUÇÃO DA CITRIX Pool de Servidores Configuração do Storage Principal Storage para as Imagens ISO Criação de uma VM XenConvert XenMotion Considerações sobre o XenMotion CONCLUSÃO ANEXO A Instalação do Hypervisor da VMware ANEXO B - Instalação do Hypervisor da Citrix REFERÊNCIAS BIBLIOGRÁFICAS

17 16 INTRODUÇÃO Atualmente um assunto muito discutido é Computação nas Nuvens, que é um modelo de negócio onde empresas especializadas fornecem diversos serviços, como por exemplo, hospedagem de sites, e discos virtuais para que seus clientes possam armazenar seus arquivos com segurança. Um modelo utilizado dentro da Computação nas Nuvens é o software como serviço, ou do inglês Software as a Service (SaaS), onde uma empresa disponibiliza acesso a programas específicos que ficam hospedados em seu Data Center e são acessados através da Internet, sem necessidade de nenhum tipo de instalação ou configuração pelo lado do cliente. (MARTINEZ, 2010) Neste modelo, as empresas clientes que utilizam estes serviços, não têm o alto custo de montagem e manutenção de uma infraestrutura física de servidores. Os serviços de alta disponibilidade são obtidos através da locação de uma infraestrutura conforme a demanda de utilização. Como exemplo de SaaS pode-se citar o Google Docs, SkyDrive e serviços de como Gmail, Hotmail, entre outros. (MARTINEZ, 2010) As empresas prestadoras destes serviços normalmente possuem grande infraestrutura física com diversos servidores para atender a demanda personalizada para cada um de seus clientes, entretanto, nova abordagem vem sendo utilizada com o objetivo de diminuir esta estrutura física para algo mais compacto, conhecido por virtualização de servidores. Neste conceito, diminui-se o número de servidores físicos e mantém-se o mesmo desempenho e flexibilidade de escalabilidade no serviço prestado. (BRENDEL, 2008) O conceito de virtualização não é novo, teve seu início na década de 1960 e a ideia inicial era aproveitar o alto poder de processamento que os Mainframes ofereciam, para a execução de vários aplicativos ao mesmo tempo. (BRENDEL, 2008) Com a virtualização e as suas ferramentas agregadas é possível garantir alta disponibilidade de serviços, desta forma, quando se comenta sobre Computação nas Nuvens fala-se de um conceito que utiliza o serviço de virtualização de servidores. (VMWARE, 2011a)

18 17 Este trabalho tem como objetivo apresentar o conceito da virtualização, cada vez mais utilizada principalmente em empresas onde a alta disponibilidade de serviços, bem como a diminuição de custos são itens indispensáveis, utilizando-se as soluções profissionais mais conhecidas e pioneiras em fornecer soluções de virtualização. No primeiro capítulo deste trabalho, é demonstrado um pouco da história da computação, para que se tenha uma visão de como foi o início da criação dos primeiros computadores, tanto no quesito hardware quanto no de sistemas operacionais, sendo possível identificar o salto de tecnologia que foi dado desde os períodos mais remotos aos atuais, culminando na convergência para a virtualização dos servidores. O segundo demonstra como é o funcionamento de um computador comum, de forma a se entender o conceito de componentes, interrupções de sistemas, processos, comunicação com os periféricos, entre outros, com a intenção de auxiliar no entendimento sobre como é possível ocorrer a virtualização, que faz grande utilização de processos e interrupções de hardware e software. No terceiro, sobre a virtualização, é feita a apresentação de seu conceito, suas formas e tipos, e seu funcionamento. São apresentadas as soluções profissionais mais conhecidas de virtualização e suas características, bem como ao tipo a que pertencem e as suas ferramentas para gerenciamento e manutenção do ambiente virtual. No quarto capítulo, é demonstrada através de um ambiente com servidores físicos reais, a instalação das soluções citadas no capítulo três, e demonstradas algumas de suas principais características e funcionalidades, como a importação e conversão de um servidor para o ambiente virtual e a movimentação de uma máquina virtual entre os servidores físicos, sem que seja necessário seu desligamento durante o processo. Por fim, como conclusão deste trabalho, são apresentadas as observações feitas durante os testes, de forma que seja possível que o leitor/usuário possa reproduzir os procedimentos realizados.

19 18 1 A HISTÓRIA DA INFORMÁTICA Com o acesso cada vez mais facilitado a equipamentos de informática como computadores e notebooks, proporcionados pelo custo de equipamentos mais baratos, através de incentivos fiscais e maior oferta de marcas e modelos, as pessoas em geral não conhecem a história de como sugiram estes equipamentos, nem imaginam a enorme diferença de tamanho e capacidade de processamento entre os primeiros computadores e os atuais, cada dia mais portáteis. Este capítulo tem como objetivo mostrar um pouco da história e evolução do conceito de computação e dos computadores em geral, da antiguidade aos dias de hoje. 1.1 MÁQUINAS PARA CALCULAR Consideradas por Gugik (2009a), como as primeiras espécies de máquinas de cálculo, estão respectivamente o Ábaco, que tem seu registro de uso datado no ano 5500 a.c e a Régua de Cálculo, criada mais atualmente em 1638 d.c. O Ábaco, conhecido na Roma antiga como Calculus, do qual se originou a palavra Cálculo, era utilizado no dia-a-dia, principalmente no comercio e construções civis e utilizava um sistema simples, mas eficiente na resolução de problemas matemáticos. Era muito utilizado em operações de soma e subtração, mas não era recomendado para multiplicação e divisão. A Régua de Cálculo foi criada pelo padre inglês William Oughtred, como forma mais eficiente de calcular. Tratava-se de uma régua que já possuía certa quantidade de valores pré-calculados, organizados de forma que os resultados fossem acessados automaticamente, através de um ponteiro que indicava o resultado do valor desejado. Para a criação da Régua de Cálculo, William tomou como base as pesquisas sobre logaritmos realizadas pelo escocês John Napier que havia descoberto várias propriedades matemáticas as quais deu o nome de logaritmos. (GUGIK, 2009a) Ambas as máquinas são mostrados através da Figura 1.1.

20 19 Figura O Ábaco e a Régua de Cálculo. Fonte: Gugik, 2009a. Considerado por Gugik (2009a) como a primeira calculadora mecânica da história, o engenho mostrado na Figura 1.2, criado pelo matemático francês Bleise Pascal em 1642, passou a ser conhecido com a Máquina de Pascal. Seu funcionamento era baseado no uso de engrenagens, que giravam na realização dos cálculos. Ao contrário da ideia original de se criar uma máquina que realizasse as quatro operações matemáticas básicas de somar, subtrair, multiplicar e dividir, só era capaz de somar e subtrair. Figura Máquina de Pascal. Figura: Gugik, 2009a. 1.2 A EVOLUÇÃO A Régua de cálculo e a Máquina de Pascal eram pré-programadas, com funções fixas que não permitiam adicionar novas funcionalidades. A seguir é apresentado o início da evolução dos computadores sua utilização e sua evolução.

21 A Programação Funcional Segundo Gugik (2009a), em 1801, Joseph Marie Jacquard desenvolveu uma máquina com o objetivo de cortar tecidos de forma automática, que recebeu nome de Tear Programável, devido ao fato de aceitar cartões perfuráveis com o desenho desejado como entrada do sistema para serem reproduzidos no tecido. O Tear Programável influenciou outros inventos como a Máquina de Diferenças criada em 1822 e o Engenho Analítico criado em 1837, ambas por Charles Babbage. (GUGIK, 2009a) A Máquina de Diferenças, mostrada pela Figura 1.3, foi criada com a promessa de revolucionar os cálculos, executando funções de diversas naturezas como trigonometria e logaritmos, de forma simples. (GUGIK, 2009a) Figura Máquina de Diferenças. Fonte: Gugick, 2009a. No Engenho Analítico, instruções e comandos poderiam ser informados através de cartões, fazendo uso de registradores primitivos. Sua precisão chegava a 50 casas decimais. (GUGIK, 2009a) Boole e sua Teoria No que diz respeito a hardware, Charles Babbage é considerado o avô do computador. Por outro lado, em questão a software, o matemático George Boole é considerado o pai da lógica moderna por ter desenvolvido em 1847, a teoria de um sistema lógico que reduzia a representação de valores através de dois algarismos: 0

22 21 ou 1. (GUGIK, 2009a) Nessa teoria, o 1 significava: ativo, ligado, existente, verdadeiro. Já o 0 representava: não ativo, desligado, não existente, falso. Para representar valores intermediários como mais ou menos ativo, era possível utilizar dois ou mais algarismos (bits) para sua representação como: 00 desligado, 01 carga baixa, 10 carga moderada, 11 carga alta. (GUGIK, 2009a) e a Máquina de Hollerith Em 1890 para o censo nos EUA, Hermann Hollerith utilizou o conceito de cartões perfurados do Tear Programável para desenvolver uma máquina, mostrada pela Figura 1.4, que acelerava o processo de computação dos dados coletados. As respostas de sim ou não às questões do senso, eram perfuradas no cartão em vez de serem marcadas com um X, o que tornou possível processar todas as informações em 1/3 do tempo normal. Figura A máquina de Hollerith. Fonte: Gugik, 2009ª. Devido ao sucesso obtido com a utilização desta máquina, Hollerith fundou sua própria empresa, chamada Tabulation Machine Company em 1896, permanecendo no comando até seu falecimento. Seu substituto, que assumiu em 1916, alterou o nome da empresa para Internacional Business Machine (IBM). (GUGIK, 2009a)

23 Computadores Pré-modernos e a 2ª Guerra De acordo com Gugik (2009a), em 1931, Vannevar Bush programou um computador com uma arquitetura binária propriamente dita, usando os bits 0 e 1. A base decimal exigia que a eletricidade assumisse 10 voltagens diferentes, o que era muito difícil de ser controlado. Por isso, Vannevar utilizou a lógica de Boole, em que somente dois níveis de voltagem eram suficientes. O grande incentivador para o desenvolvimento de computadores foi a Segunda Guerra Mundial. Pois as máquinas cada vez mais se tornavam úteis em tarefas de desencriptação de mensagens inimigas e criação de armas mais inteligentes. Os projetos deste período que mais se destacaram foi o Mark I, em 1944, criado pela Universidade de Harvard e o Colossus, em 1946, criado por Allan Turing. (GUGIK, 2009a) 1.3 COMPUTAÇÃO MODERNA A computação moderna pode ser definida pelo uso de computadores digitais, sem componentes analógicos em seu funcionamento, podendo ser dividida em grupos chamados de Gerações. Segundo Gugik (2009a), a primeira geração abrange o período de 1946/1959, a segunda de 1959/1964, a terceira de 1964/1970 e a quarta de 1970 aos dias atuais. Alguns especialistas, porém, citam ainda uma quinta geração que seria do final de 1980 até os dias atuais Primeira Geração Essa geração tinha como característica o uso de válvulas eletrônicas e grandes dimensões. Eram utilizados quilômetros de fios e atingiam temperaturas muito elevadas causando problemas de funcionamento. Os programas normalmente

24 23 eram escritos em linguagem de máquina. (GUGIK, 2009a) Para Gugik (2009a), a mais famosa máquina da primeira geração foi o Electrical Numerical Integrator and Calculator ou ENIAC, mostrado na Figura 1.5, desenvolvido em 1946, pelos cientistas norte-americanos John Eckert e John Mauchly, sendo 1000 vezes mais rápido que qualquer outra máquina da época. Figura O ENIAC. Fonte: Gugik, 2009a. Sua principal inovação era a computação digital, superiores aos projetos mecânicos-analógicos desenvolvidos até então. A maior parte de suas operações era realizada sem a necessidade de se movimentar peças manualmente, ocorrendo somente pela entrada de dados no painel de controle. Cada operação podia ser acessada através de configurações padrões de chaves e switches. Com grandes dimensões, seu peso total era de 30 toneladas. (GUGIK, 2009a) Segunda Geração Na segunda geração houve a substituição das válvulas eletrônicas por transistores, o que diminuiu o tamanho do hardware, e a criação da tecnologia de circuitos impressos, que evitava que fios e cabos ficassem espalhados. (GUGIK, 2009a) O IBM 7030 (Strech), mostrado na Figura 1.6, foi o primeiro supercomputador da segunda geração. Ele possuía tamanho reduzido se comparado ao ENIAC,

25 24 sendo utilizado por grandes companhias e custando milhões de dólares. Executava cálculos em microssegundos, permitindo até um milhão de operações por segundo, atingindo assim um novo patamar de velocidade e confiabilidade. (GUGIK, 2009a) Figura IBM Fonte: Gugik, 2009a. Ainda na segunda geração, existiu o PDP-8, considerado um dos minicomputadores mais conhecidos, sendo basicamente uma versão mais simples de supercomputador, porém, ainda ocupando grande espaço físico. (GUGIK, 2009a) Terceira Geração A terceira geração é marcada pela utilização de circuitos integrados, que permitiam que uma mesma placa armazenasse vários circuitos que se comunicavam com hardwares distintos ao mesmo tempo, tornando as máquinas mais velozes, com um número maior de funcionalidades. Seu preço também diminuiu consideravelmente. (GUGIK, 2009a) Lançado em 1967, o IBM 360/91, Figura 1.7, é um dos principais exemplos desta geração, trabalhando com dispositivos de entrada e saída modernos para a época, como discos e fitas de armazenamento, além de permitir a impressão dos resultados em papel, sendo um grande sucesso em vendas na época. Este modelo

26 25 da IBM foi um dos primeiros a permitir programação da CPU por micro código, na qual as operações usadas por um processador qualquer poderiam ser gravadas através de softwares, sem a necessidade de projetar todo o circuito de forma manual (GUGIK, 2009a). Figura IBM 360/91. Fonte: Gugik, 2009a Quarta Geração A redução de tamanho e dos preços das máquinas é a principal característica da quarta geração. As CPUs atingiram patamar de bilhões de operações por segundo, permitindo que muitas tarefas pudessem ser executadas. Os circuitos se tornaram ainda mais integrados e menores, o que permitiu o desenvolvimento dos microprocessadores e dos computadores pessoais. Na quarta geração, os softwares e sistemas se tornaram tão importantes quanto o hardware. (GUGIK, 2009a) Lançado em 1975, o Altair 8800, revolucionou o que era conhecido como computador àquela época. Com um formato retangular e um tamanho que o fazia caber em uma mesa, era muito mais rápido que os computadores anteriores. Seu projeto utilizava o processador 8080 da Intel, fato que propiciou esse desempenho. Nessa época de seu lançamento, o jovem programador Bill Gates se interessou pelo Altair 8800 e criou para ele a linguagem de programação Altair Basic. O Altair funcionava através de cartões de entradas e saída, sem uma interface

27 26 gráfica propriamente dita. (GUGIK, 2009a) Figura Altair Fonte: Gugik, 2009a. Segundo Gugik, (2009a), apesar do sucesso do Altair, outro jovem chamado Steve Jobs, que viria a ser o futuro fundador da Apple, sentiu que mesmo com suas funcionalidades, o computador não era fácil de ser utilizado por pessoas comuns. Acreditando que um computador deveria representar de maneira gráfica o seu funcionamento, foi lançado em 1976, o Apple I e em seguida no ano de 1979 o Apple II. GUGICK (2009a) O Apple I era vendido já montado. Sua placa era vendida sem nada, acomodada dentro de uma caixa de papelão, sem nenhum tipo de gabinete, por isso era comum que os computadores fossem instalados dentro de caixas de madeira feitas artesanalmente, conforme figura 1.9. (MORIMOTO, 2005a) Figura Apple I. Fonte: Kopplin, Em 12 de agosto de 1981, depois de quase um ano de desenvolvimento, o primeiro PC foi lançado pela IBM, utilizando apenas componentes-padrões, que

28 27 pudessem ser encontrados facilmente no mercado. O processador escolhido foi o Intel 8088, uma versão econômica do processador 8086, que havia sido lançado pela Intel em (MORIMOTO, 2005b) Figura IBM PC. Fonte: IBM, Em 1998 foi lançado o imac, Figura 1.11, que revolucionou o mundo dos computadores com o conceito de tudo-em-um e se tornou um pilar na linha da Apple. Foi o primeiro computador da empresa a oferecer entradas USB e a remover o SCSI e sua a porta serial proprietária. (FAAS, 2009) Seu lançamento marcou a volta de Steve Jobs, onde sua preocupação com o design permitiu a criação de uma máquina enxuta e moderna. (TECNOLOGIA, 2011) Figura Steve Jobs e o novo imac. Fonte: Tecnologia, Em 2003 foi lançada para o mercado de servidores a tecnologia Blade, mostrado na Figura 1.12, que trazia características como, tamanho reduzido e

29 28 menor consome de energia e de refrigeração, porém apresentando processamento de um servidor tradicional. Em 2006, foi apontado como uma das novas tendências no mercado de servidores, conquistando espaço na área de TI. (OLIVEIRA, 2006) Essa previsão tem se confirmado, devido à sua ampla utilização em virtualização atualmente. Figura Modelo de chassis Blade. Fonte: IBM, No mercado de desktops, as inovações continuam vindas da Apple, cujo design é um dos seus pontos fortes, a exemplo do imac, na Figura Figura o novo imac. Fonte: Apple Store, HISTÓRICO DOS SISTEMAS OPERACIONAIS De acordo com Maziero (2011), no final dos anos 40 e início dos anos 50, os

30 29 computadores não possuíam sistema operacional como os que existem atualmente. Nos anos 40 um programa era executado sozinho e tinha total controle do computador. Todos os processos envolvidos para a sua execução deveriam ser programados detalhadamente pelo desenvolvedor da aplicação. Nos anos 50, o fornecimento das bibliotecas de sistema (system libraries) que encapsulavam o acesso aos periféricos, veio para facilitar a programação de aplicações. Na mesma década se passou a utilizar o system monitor no auxílio da carga e descarga das aplicações entre a memória e periféricos. (MAZIERO, 2011) Segundo Gugik (2009b), na década de 1960 os sistemas operacionais eram desenvolvidos conforme a tecnologia da época, e cada máquina possuía seu próprio sistema, gerando incompatibilidade entre os diferentes Mainframes existentes. Em 1961, o pesquisador Fernando Corbató e seu grupo do Massachusetts Institute of Technology (MIT), anunciaram o desenvolvimento do Compatible Time- Sharing System (CTSS), o primeiro sistema operacional com compartilhamento de tempo. (MAZIERO, 2011) Figura IBM 7090 executando o CTSS. Fonte: Gugik, 2009b. Em 1969 foi criada a primeira versão do UNIX, por Ken Thompson e Dennis Ritchie, pesquisadores dos Bell Labs. (MAZIERO, 2011) Durante a década de 70, o Unix, que tinha uma interface em modo texto, foi distribuído gratuitamente para universidades e órgãos governamentais norteamericanos. E 1977, baseado no Unix, foi lançado o Berkeley Software Distribution (BSD), Figura 1.15, focado principalmente para a execução em máquinas específicas de alto desempenho e grande porte. (GUGIK, 2009b)

31 30 Figura Comando em modo texto no BSD. Fonte: Gugik, 2009b. No ano anterior, em 1976, a Apple havia marcado a história com o desenvolvimento para o Apple I, de um SO que pudesse ser operado por pessoas comuns. (GUGIK, 2009b) Em 1981 a Microsoft que havia criado o Altair Basic, lançou o MS-DOS, um sistema operacional que, segundo Maziero (2011), havia sido comprado da empresa Seattle Computer Products em 1980, para atender a um contrato feito junto à IBM. Sua interface era baseada em modo texto, bastante parecida com a utilizada pelo Unix, conforme Figura Figura Sistema operacional MS-DOS. Fonte: Gugik, A década de 80 ficou marcada pela disputa entre Apple e Microsoft. Porém outros fatos importantes ocorreram nesta década. Em 1983 Richard Stallman, criou o projeto Gnu is Not Unix (GNU). Ele defendia a ideia de que os softwares deveriam ser desenvolvidos de maneira livre, sem restrições na leitura ou modificação de seus códigos fontes. Um de seus

32 31 principais objetivos era desenvolver sua própria versão do Unix, através de um Kernel próprio, chamado de GNU Hurd. Contudo, este núcleo possuía muitas falhas de sistema, comprometendo o seu desenvolvimento. (GUGIK, 2009b) Em 1984, o MIT desenvolveu o X Window System, Figura 1.17, um sistema gráfico de Janelas para o Unix que permaneceu proprietário até 1987, quando uma versão opensource foi lançada e incorporada ao seu desenvolvimento. Figura Sistema X Windows System. Fonte: Gugik, 2009b. De acordo com Maziero (2011), no mesmo ano a Apple lançou o Macintosh OS 1.0, Figura Conforme Gugik (2009b), ele utilizava as ideias desenvolvidas pela Xerox Palo Alto Research Center, com ícones e pastas para representar programas e arquivos, as quais Steve Jobs havia conhecido em Figura Macintosh OS 1.0. Fonte: Morimoto, Em 1985 Microsoft entrou no ramo de sistemas operacionais com interfaces gráficas, através do MS-Windows 1.0, mostrado na figura (MAZIERO, 2011)

33 O sistema muito era parecido com o do Macintosh, o que levou a quebra a parceria entre a Apple e a Microsoft. (GUGIK, 2009b) 32 Figura MS-Windows 1.0. Fonte: Gugik, 2009b. Em 1987, Andrew Tanenbaum, professor de computação holandês, desenvolveu um sistema operacional didático simplificado, porém respeitando a API do UNIX, que recebeu o nome de Minix. Neste mesmo ano, a IBM e a Microsoft apresentaram a primeira versão do OS/2, mostrado na Figura Um sistema multitarefa destinado a substituir o MS- DOS e o Windows. Mais tarde, as duas empresas romperam a parceria e cada uma continuou com seu sistema de forma independente. (MAZIERO, 2011) Figura OS/2 Warp. Fonte: Meio Bit, Os anos 90 foram marcados por diversos acontecimentos no mundo dos sistemas operacionais.

34 33 Um exemplo foi o lançamento do Windows 3.x. Nessa versão, a memória passou a ser gerenciada de forma mais eficiente e foram incluídas melhorias em sua interface gráfica, além de ser criado um painel de controle e um gerenciador de arquivos organizado, facilitando o trabalho do usuário. Um dos principais motivos que também contribuíram para seu sucesso foi o fato do sistema já vir instalado de fábrica em um grande número de máquinas. (GUGIK, 2009b) Em 1991, Linus Torvalds, um estudante de graduação finlandês, iniciou o desenvolvimento do Linux, lançando na rede Usenet o Kernel 0.01, que foi recebido de braços abertos por centenas de programadores ao redor do mundo. (MAZIERO, 2011) Em 1993, a Microsoft lançou o Windows NT, o primeiro sistema 32 bits da empresa. Também houve o lançamento dos UNIX de código aberto FreeBSD e NetBSD destacada por Maziero (2011). Gugik (2009b), também destaca para este ano, a criação das primeiras distribuições Linux, Debian e Slackware. Em 1995, a Microsoft lançou Windows 95, sendo uma versão importante para informática que acabou definindo o padrão com que o desktop é organizado, com um botão Start, Menu Iniciar, barra de tarefas, o gerenciador de arquivos Windows Explorer e o navegador Internet Explorer, ilustrado pela Figura Figura Windows 95. Fonte: Gugik, 2009b. Após alguns Services Packs, esta versão passou a suportar a leitura de dispositivos USB. Seu sucessor foi o Windows 98 que, apesar de apresentar

35 34 melhorias em relação ao 95, era um pouco lento, o que só foi resolvido em 1999, com o lançamento do Windows 98 Second Edition (SE), que incluía funções avançadas para compartilhamento de rede, suporte integrado a drivers de DVD- ROM, entre outras características. (GUGIK, 2009b) No final dos anos 90 e início de 2000, a Apple passava por uma experiência de fracasso com seu sistema Macintosh que apresentava muitos problemas, obrigando que um novo plano fosse traçado. (MAZIERO, 2011) A Microsoft enfrentava problemas parecidos com o Windows Me, lançado em 2000, como sucessor do Windows 98. (GUGIK, 2009b) Em 2001, a Microsoft lançou Windows XP, Figura 1.22, que se tornou um marco na história dos sistemas operacionais, por trazer recursos novos, entre eles, maior segurança do sistema, através da diferenciação de permissões entre administradores e usuários comuns. (GUGIK, 2009b) Para Gugik (2009b), a sua estabilidade é um de seus pontos fortes, sendo o principal motivo para tal, o uso do Kernel NT como base do sistema, excluindo a necessidade do MS-DOS por baixo da interface gráfica. Esse núcleo vinha sendo usado desde outras versões do Windows lançadas para uso de servidores, mas foi somente no XP que esta arquitetura foi lançada para o usuário comum. Figura Windows XP. Fonte: Gugik, 2009b. No mesmo ano de 2001, a Apple, lançou o Mac OS X, Figura 1.23, reescrito do zero, tendo como base o Unix BSD. (MAZIERO, 2011).

36 35 Figura MAC OS X. Fonte: Gugik, 2009b. Em 2008, a Microsoft lançou um de seus melhores sistemas para servidores, o Windows Server Esta nova versão trouxe além de novos recursos, melhorias em outros, como por exemplo, uma nova interface de gerenciamento, que substitui a antiga ferramenta Configure Your Server. Dentre outras novidades, está verificação de dependências feita pelo Server Manager, mostrado na Figura 1.24, que se certifica de que o servidor tem os componentes e a configuração corretos com diversos assistentes. Figura Windows Server Fonte: OSworld, Também foi atualizado o IIS para a versão 7 junto a um aplicativo de gerenciamento reformulado e melhorias no Gerenciamento de Autoridade Certificadora e em seu Firewall, entre outras. (NETWORKWORLD, 2008)

37 36 Outro importante recurso é o Hyper-V, sistema de virtualização integrado ao Windows 2008, que possibilita a execução de máquinas virtuais com diferentes sistemas operacionais como Windows e Linux, ao mesmo tempo. (MICROSOFT, 2007) Após o lançamento desastroso do Windows Vista em 2007, a Microsoft lançou em 2009, o Windows 7, Figura 1.25, que tem como base o Kernel do 2008, garantindo assim grande estabilidade ao sistema. Figura Windows 7. Fonte: Gugik, 2009b. Em 2011 houve o lançamento da versão 3.0 do Kernel Linux, conforme anunciado em Torvalds (2011), e da nova versão do sistema operacional Ubuntu Linux, na versão 11.10, mostrado na Figura Figura Ubuntu Fonte: Distrowatch, 2011.

38 Também em 2011, a Apple lançou uma nova versão do seu sistema operacional, o Mac OS X Lion. 37 Figura Mac OS X Lion. Fonte: Apple, Estes foram alguns dos fatos que mais se destacaram ao longo dos anos, no que se refere às historias dos computadores e dos sistemas operacionais. O objetivo foi mostrar a evolução da tecnologia dos computadores e das interfaces gráficas até os dias atuais, em que o conceito de desktop e servidor, vai convergindo para a virtualização.

39 38 2 FUNCIONAMENTO DOS COMPUTADORES Para entender o funcionamento de uma máquina virtual, é necessário compreender o que compõe e como funciona um sistema convencional de computação. Este capítulo tem como objetivo mostrar os conceitos básicos de alguns dos componentes de hardware e software que compõem um computador. 2.1 A ESTRUTURA BÁSICA Um computador é composto por Hardware e Software. O Hardware e as instruções visíveis aos programadores formam o nível chamado de Instruction Set Archtecture (ISA). A ISA define as propriedades do equipamento, por exemplo, instruções de CPU ou registros do processador e assegura um comportamento esperado pelo programador e suas ferramentas de compilação. (BRENDEL, 2008) O Hardware Através de um conjunto de códigos, o sistema operacional interage com o hardware, disponibilizando-o para uso. Para que se possa entender de uma melhor forma, é preciso compreender sobre os recursos fornecidos pelo hardware e a forma de acessá-los. Um computador típico é constituído por: Processador: executa as instruções das aplicações. Conforme descreve Maziero (2011), o processador é o núcleo de um sistema de computação, o qual é responsável por ler de forma contínua as instruções e dados da memória ou de periféricos, processá-los e enviar os resultados de volta à memória ou encaminhar para outros periféricos. Um processador convencional é constituído de uma Unidade Lógica e Aritmética (ULA) que realiza os cálculos e operações lógicas, um conjunto de registradores para armazenar dados de trabalho e alguns registradores para funções especiais (contador de programa, ponteiro de pilha, flags de status, etc.).

40 39 Memória: armazena as aplicações em execução (seus códigos e dados). Geralmente o acesso à memória é realizado através de um controlador específico, às vezes alocado fisicamente no próprio processador, chamada de Memory Management Unit (MMU) ou Unidade de Gerência de Memória. A MMU é responsável por analisar cada endereço solicitado pelo processador, validá-los, efetuar as conversões de endereçamento necessárias e executar a operação solicitada pelo processador como a leitura ou escrita de uma posição da memória. (MAZIERO, 2011) Dispositivos de armazenamento: permitem o armazenamento de dados, podendo ser desde um disco rígido localizado internamente até um dispositivo USB, ou cartão de memória. Periféricos: fazem a comunicação com o mundo exterior (teclado, mouse, monitor, impressora, etc.). O acesso aos periféricos é realizado através de circuitos específicos chamados de controladores. Por exemplo, a placa de vídeo permite o acesso ao monitor, a placa ethernet possibilita a conexão com a rede, o controlador USB permite acesso ao mouse, teclado e outros dispositivos USB externos, conforme ilustrado na Figura 2.1. (MAZIERO, 2011) Figura Arquitetura de um computador típico. Fonte: Maziero, 2011, p. 11. Placa-mãe: recebe todos os itens citados anteriormente e possibilita sua comunicação física. Todos os principais componentes que constituem o computador são interligados através de barramentos, que são utilizados para a transferência de dados, endereçamento e sinais de controle. (MAZIERO, 2011) Os barramentos podem ser classificados de acordo com suas funções como

41 40 de endereços, controle e dados. O barramento de endereços indica a posição da memória ou dispositivo a ser acessado. O barramento de controle indica a operação a ser realizada, como leitura ou escrita. O barramento de dados transporta a informação entre o processador e a memória ou um controlador de dispositivo. Conforme Maziero (2011), cada dispositivo é representado por seu respectivo controlador perante o processador e pode ser acessado através de portas endereçáveis de E/S, onde para cada controlador é atribuída uma faixa de endereços, conforme mostrado pela Tabela 2.1. Tabela Endereços de acesso a dispositivos. Dispositivo Endereços de Acesso Teclado Barramento IDE Primário Barramento IDE Secundário Porta Serial COM1 Porta Serial COM2 Fonte: Maziero, 2011, p h-006Fh 0170h-0177h 01F0h-01F7Fh 02F8h-02FFh 03F8h-03FFh O Sistema Operacional Para Maziero (2011), um Sistema Operacional é mais que um software executado em um hardware. Em sua constituição estão diversos outros elementos para as mais diversas funcionalidades e, entre estes elementos, destacam-se: Núcleo ou Kernel: gerencia os recursos de hardware e executa as abstrações necessárias, utilizadas pelos aplicativos. É a parte mais importante de um sistema operacional. Drivers: um conjunto de código que possibilita a comunicação entre um dispositivo físico e o sistema operacional. Cada dispositivo como discos rígidos, modems, placa de vídeo ou portas USB, por exemplo, necessita deste conjunto de código ou driver para que seja reconhecido pelo sistema operacional e funcione adequadamente, conforme o usuário espera.

42 41 Programas Utilitários: são pequenos softwares que complementam o Kernel, fornecendo funções como formatação de discos, manipulação de arquivos (mover, copiar, apagar), interpretador de comandos, terminal, interface gráfica, etc. Conforme Brendel (2008), todas estas partes se relacionam entre si, e a forma dessa interligação pode variar conforme o sistema operacional. Basicamente, pode ser demonstrado conforme a Figura 2.2. Figura Estrutura de um sistema operacional. Fonte: Maziero, 2011, p Abstração e Gerência de Recursos Para Maziero (2011), acessar os recursos de hardware de um sistema de computação pode ser uma tarefa complexa, devido às características específicas de cada dispositivo físico e a complexidade de suas interfaces. Por este motivo, o sistema operacional deve definir interfaces abstratas para os recursos do hardware, visando atender objetivos, como: Disponibilizar interfaces de acesso aos dispositivos de forma mais simples do que se usado interface de baixo nível, visando simplificar a construção de programas aplicativos. Dessa forma, uma aplicação para ler dados do disco rígido, usa o conceito de arquivo, que implementa uma visão abstrata do disco rígido. Caso contrário, para as operações de leitura ou gravação de arquivos, seria necessário

43 42 acessar o disco diretamente, através da manipulação de portas de Entrada e Saída (E/S) e registradores com comandos para o controlador de disco. Criar independência entre software e hardware. Com a definição de uma interface abstrata de acesso a um dispositivo de hardware, o sistema operacional possibilita que tanto o software quanto o hardware evoluam de formas independentes. Dessa forma, por exemplo, o código em desenvolvimento de um software para edição de texto não fica dependente da tecnologia de discos rígidos utilizada. Prover homogeneidade para as interfaces de acesso a dispositivos com tecnologias distintas. O sistema operacional através das abstrações permite que softwares utilizem uma mesma interface para dispositivos diversos. Por exemplo, um aplicativo acessando arquivos de uma pasta em um disco, sem a preocupação com a estrutura real de armazenamento dos dados, que podem estar em um disquete, um disco rígido, um dispositivo conectado via USB, um CD-ROM ou até um compartilhamento de arquivos via rede. Além da abstração do acesso aos recursos do hardware, o sistema operacional, deve gerenciar os recursos disponíveis, de forma a evitar conflitos que possam surgir quando houver execução de várias aplicações simultaneamente, através de políticas como distribuição da utilização do processador entre os aplicativos em execução, evitando que haja monopolização de recursos, divisão da memória RAM, de forma que exista uma área exclusiva de memória isolada para cada aplicação, garantindo maior segurança e estabilidade, entre outros, garantindo que cada aplicação tenha os recursos necessários para sua execução de forma satisfatória ao usuário. Um exemplo prático é a utilização da impressora, que pode ser acessada por vários aplicativos simultaneamente, onde o sistema operacional cria uma fila para os trabalhos de impressão, evitando com que os conteúdos impressos sejam misturados no processo. Maziero (2011) ressalta sobre outra importante questão que é a gerência de proteção dos recursos do sistema contra acessos indevidos. Com a utilização cada vez maior de recursos compartilhado tanto em rede, quanto local por mais de um usuário, é necessário que sejam definidos os recursos e limites para cada usuário, como: definição de usuários grupos de acesso, procedimentos de autenticação, criação de regras para controle de acesso e registro da utilização dos recursos pelo usuário para fins de contabilização e auditoria.

44 Interrupções Continuando com Maziero (2011), uma rotina de interrupção é, por exemplo, quando um controlador de dispositivo, necessita passar informações ao processador e ao invés de aguardar por uma consulta, o controlador envia uma requisição de interrupção, através do barramento de controle. Recebendo a requisição de interrupção, o processador suspende seu processamento atual e direciona-se para um endereço pré-determinado encontrando-se com uma rotina de tratamento de interrupção. Essa rotina executa as ações necessárias, atendendo o dispositivo que a gerou e ao final do processo, o processador retoma o processamento que estava executando antes de receber a requisição de interrupção. Figura Funcionamento de uma interrupção. Fonte: Puc-Rio, A cada clique, acesso a disco, etc., esse processo é repetido, podendo alcançar a casa de milhares de interrupções por segundo. Por este motivo as rotinas de tratamento de interrupções devem ser curtas, para serem executadas o mais rápido possível, sem prejudicar o desempenho geral do sistema. Caso ocorra uma chamada de interrupção enquanto o processador estiver executando outra rotina de tratamento de interrupção, ele pode ignorar a mesma temporariamente, ajustando o bit correspondente à interrupção em um registrador específico do processador. (MAZIERO, 2011) Além das interrupções geradas pelos controladores dos periféricos, o processador também pode gerar seu próprio desvio de execução, chamado de exceção. Uma exceção pode ser causada por instruções ilegais, divisão por zero, ou outros erros, que disparam a rotina de tratamento de exceção, usando o mesmo mecanismo das interrupções. Maziero (2011) salienta que as interrupções são muito importantes para os sistemas de computação, pois dessa forma o processador não perde tempo

45 44 vasculhando todos os dispositivos atrás de eventos para serem tratados. As interrupções também permitem construir funções de E/S assíncronas, no qual o processador não precisa esperar a conclusão de cada operação solicitada a um dispositivo, pois o dispositivo gera uma interrupção para avisar o processador quando a operação for concluída. Em um computador comum, são tratados centenas ou milhares de interrupções por segundo, de acordo com a quantidade de periféricos instalados e a carga do sistema Proteção do Núcleo Para assegurar que o sistema operacional gerencie de forma correta os recursos de hardware, fornecendo-os conforme a necessidade das aplicações é preciso que as mesmas sejam impedidas de acessarem diretamente o hardware. A cada necessidade de recurso, um pedido deve ser feito ao sistema operacional que avaliará e intermediará o seu acesso ao hardware. (MAZIERO, 2011) O Núcleo e os drivers têm acessos diferenciados dos demais processos, podendo interagir diretamente com o hardware para gerenciá-lo e configurá-lo. Os aplicativos e demais utilitários devem ter um acesso mais restrito, evitando interferência nas configurações e gerência, o que poderia causar instabilidade do sistema e inutilizar os mecanismos de segurança e controle de acesso aos recursos, como arquivos, diretórios ou áreas da memória. (MAZIERO, 2011) Processadores modernos contam com o chamado nível de privilégio de execução, que permite diferenciar os diferentes privilégios dos diversos tipos de aplicativos. Através de flags especiais, a forma de mudança de um nível de execução para outro, é controlado pelo processador. Um processador Pentium, por exemplo, conta com quatro níveis de privilégio, onde 0 é o nível mais privilegiado. Porém, boa parte dos sistemas operacionais construídos para esse processador só utiliza os níveis extremos (0 para o núcleo e drivers do sistema operacional e 3 para utilitários e aplicações). Para Maziero (2011), de forma simples, esse esquema pode ser demonstrado considerando dois níveis básicos de privilégio: Nível núcleo (kernel space): pode ser chamado de sistema, nível supervisor ou monitor, no qual um código executado nesse nível tem acesso total ao

46 45 processador e todos os recursos internos do processador como registradores, portas de E/S, assim como as áreas da memória podem ser acessados e todas as instruções do processador podem ser executadas. O processador entra em operação neste nível, ao ser ligado. Nível usuário (userspace): neste nível, estão disponíveis apenas um subconjunto de instruções do processador, registradores e portas de E/S. As instruções para o processador, como HALT e RESET, consideradas perigosas, são proibidas para todo código executando neste nível. O uso da memória também é restringido à áreas previamente definidas. Se um código em execução tentar executar uma operação proibida ou acessar uma área de memória restrita, o hardware gerará uma exceção, desviando a execução para uma rotina de tratamento dentro do núcleo, que poderá abortar o programa em execução. A Figura 2.4 mostra de forma simples a diferença de acesso em nível núcleo e nível usuário: Figura Separação entre núcleo e aplicação. Fonte: Maziero, 2011, p Chamadas de Sistema Chamada de sistema (system call ou syscall) é a execução de procedimentos do núcleo, utilizando interrupções de software. Todo o acesso aos recursos de baixo nível como periféricos, alocação de memória, ou abstrações lógicas como finalização de tarefas, comunicação, etc., é definido através de uma chamada de sistema pelo sistema operacional. As aplicações em nível de usuário fazem as chamadas de sistema através de uma biblioteca do sistema ou system library, que

47 46 faz a preparação dos parâmetros, invocação da interrupção de software e retorno do resultado à aplicação. (MAZIERO, 2011) É ressaltado por Maziero (2011) que, embora o isolamento de processos na memória realizados no nível de usuário forneça segurança, trás uma dúvida quanto a forma de chamar a partir de uma aplicação, as rotinas oferecidas pelo núcleo para acesso ao hardware e suas abstrações, onde não existe privilégio por parte do nível do usuário para acessar as portas de E/S correspondentes nem invocar o código do núcleo que executa esse acesso. O mecanismo de interrupções mostrado anteriormente é a resposta. Essa interrupção especial dos processadores permite acionar de forma intencional o mecanismo de interrupção, sem a necessidade de eventos externos ou internos. Essa instrução faz a passagem do processador para o nível privilegiado e procede ao seu tratamento como as demais interrupções. Esse processo é chamado de interrupção por software. Os processadores modernos já oferecem instruções específicas pra entrar e sair do modo privilegiado, bem como registradores específicos para a operação, o que trás maior rapidez no processo de transferência do controle para o núcleo e um menor custo do que o tratamento de outras interrupções. (MAZIERO, 2011) São encontradas nos sistemas operacionais modernos, centenas de chamadas de sistemas diferentes, para diversas finalidades. Essas chamadas de sistemas formam a Application Programming Interface (API) 1 do sistema operacional. (MAZIERO, 2011) Concluindo este capítulo, espera-se que tenha sido possível, de forma básica, um entendimento sobre o funcionamento interno de um computador, o que ajudará na compreensão do funcionamento da virtualização, tratada no próximo capítulo. 1 API é a interface (convenções de chamada) pelo qual um programa aplicativo acessa o sistema operacional e outros serviços. Uma API pode fornecer uma interface entre uma linguagem de alto nível e utilitários de baixo. (FOLDOC, 1995)

48 47 3 VIRTUALIZAÇÃO Este capítulo tem como objetivo descrever o histórico de evolução do conceito de virtualização, desde os Mainframes até as versões atuais dos softwares de virtualização, bem como os motivos que levaram ao seu desenvolvimento. 3.1 HISTÓRICO Conforme descrito por Brendel (2008), os primeiros passos do conceito de virtualização iniciaram-se na metade da década de 60, com o surgimento do Compatible Time-Sharing System (CTSS), ou Sistema Compatível de Tempo Compartilhado. De acordo com Jones (2006), desenvolvido pelo Massachusetts Institute of Technology (MIT) sobre o IBM 704 e o projeto Atlas da Manchester University (um dos primeiros supercomputadores do mundo), foi pioneiro na paginação por demanda e chamadas ao supervisor. Outro fator para seu surgimento foi devido ao fato de existir uma pausa obrigatória para que os operadores dos computadores da época pudessem fazer a troca de tarefas, o que começou a ser sentido de forma incômoda, desejando-se que a operação e o serviço de cálculo fossem conduzidos paralelamente. (BRENDEL, 2008) Na década de 60, a IBM já reconhecia a importância da virtualização, desenvolvendo o Mainframe System/360. Neste equipamento, todas as interfaces de hardware eram virtualizadas através do Virtual Machine Monitor (VMM). (JONES, 2006) Em 1972, Robert P. Goldberg em sua dissertação sobre Architectural Principies for Virtual Computer Systems, estabeleceu as bases teóricas, e no mesmo ano a IBM lançau no mercado o Mainframe VM/370, que sob a supervisão de um programa de controle VMM, podia executar máquinas virtuais de diferentes sistemas operacionais simultaneamente. (BRENDEL, 2008) Em seu início, o VMM era chamado de Supervisor, porém mais tarde passou

49 48 a ser conhecido como Hypervisor (um termo criado na década de 1970). O VMM era executado diretamente em um hardware subjacente, permitindo várias virtual machines (VMs). Cada VM podia executar uma instância do seu próprio sistema operacional privado, sendo conhecido como Conversational Monitor System (CMS). O VMM da IBM continuou seu desenvolvimento e pode ser encontrado nos modernos sistemas da série System Z Series, fornecendo compatibilidade com versões anteriores, inclusive com a linha System/360. (JONES, 2006) Em grande parte dos anos 80, os Mainframes dominavam e seu acesso pelo usuário era feito através dos chamados terminais burros, que eram equipamentos sem sistemas operacionais, só servindo como meio de acesso à sua interface. No final da década de 80, o aumento do poder de processamento dos equipamentos baseados na arquitetura x86, que estava ganhando mercado graças ao seu preço mais atrativo, fez com que o uso dos caros Mainframes e da virtualização perdesse força. A nova realidade que se formava previa que os computadores pessoais dominariam as mesas das empresas, colocando alto poder de processamento ao alcance do usuário comum. (BRENDEL, 2008) Conforme citado por Brendel (2008), passados dez anos, as empresas começaram a perceber que ter um grande computador para processar seus dados é mais vantajoso que ter dezenas de equipamentos com as informaçoes mantidas de forma distribuidas. Pois para cada serviço que fosse colocado em operação, um novo servidor deveria ser disponibilizado, gerando custos com equipamentos e infraestrutura. Percebeu-se também que estes equipamentos ficavam a maior parte de seu tempo, com baixo uso de sua capacidade de processamento. Em 1998, a VMware desenvolveu uma solução que possibilitava a execução de máquinas virtuais Linux dentro de Sistemas Operacionais Windows, em servidores x86 e permitia também que mesmo computadores pessoais fossem capazes de executar máquinas virtuais, visto que estes também tinham poder de processamento suficiente. Abriram-se assim, novas perspectivas de uso para os servidores nas empresas e a possibilidade de consolidação de vários serviços em um único equipamento, fazendo com que os custos operacionais e de infraestrutura pudessem ser diminuidos. (BRENDEL, 2008) Em 2003 tem-se o lançamento do XenSource, uma solução VMM, focada no conceito de paravirtualização, em que um sistema Linux ou Windows customizados, poderiam ser virtualizados, tendo acesso direto ao hardware hospedeiro.

50 49 Atualmente, com a tecnologia atual dos processadores, os sistemas já não precisam mais ser modificados para serem virtualizados. (MAZIERO, 2011) Vários outras soluções de virtualização ficaram conhecidas, a exemplo do VirtualBox, originalmente desenvolvido pela Innotek, empresa surgida em 1992, que foi adquirida pela Sun Microsystems Inc. em 2008, que por sua vez foi adquirida pela Oracle em janeiro de (VIRTUALBOX, 2011) 3.2 DETALHES DA VIRTUALIZAÇÃO Uma máquina virtual (Virtual Machine) pode ser definida como uma duplicata isolada e eficiente de uma máquina real. (LAUREANO, 2006) Até o momento, foram mostrados de forma básica, a evolução, nas formas de hardware e software dos computadores e os componentes de um sistema convencional de computação. Este capítulo tem como objetivo mostrar alguns dos tipos de virtualizações existentes, e como é possível que vários sistemas coexistam em um mesmo hardware, executando todas as chamadas de sistemas, interrupções e acesso de baixo nível, mostrados até agora Diferença entre Emulação e Virtualização Para Laureano (2006), a diferença entre um sistema emulado e outro virtualizado, é que na emulação, todas as instruções realizadas pela máquina real, são executadas em um ambiente abstrato, o que permite, por exemplo, que um aplicativo x86 seja executado em uma plataforma Sparc. Neste exemplo, o emulador simula uma plataforma totalmente diferente através de um software, fazendo a máquina real executar uma aplicação que não foi desenvolvida para ela. Para Carissimi (2008), o simulador em si, é um programa que cria uma camada de software entre uma plataforma hóspede e a plataforma hospedeira a ser imitada.

51 50 Na virtualização, o nível de abstração e funcionalidade de uma máquina virtual encontra-se 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 pelo Virtual Machine Monitor (VMM), também chamado de hypervisor. O hypervisor 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, às vezes possuindo BIOS e capacidade de configuração em seu próprio setup. (LAUREANO, 2006) A Virtualização Propriamente Dita Para Laureano e Maziero (2008), um ambiente de máquina virtual consiste de três partes básicas ilustradas pela Figura 3.1: Figura Uma máquina virtual. Fonte: Laureano e Maziero, Sistema real, nativo ou hospedeiro (host system), que contém os recursos reais de hardware e software do sistema. Camada de virtualização, hypervisor, ou monitor (Virtual Machine Monitor - VMM) que constrói as interfaces virtuais a partir da interface real. Sistema virtual, também chamado de sistema convidado (guest system), que

52 executa sobre o sistema virtualizado. Em alguns casos, vários sistemas virtuais podem coexistir, executando simultaneamente sobre o mesmo sistema real Tipos de Virtualização Para Laureano (2006), existem duas formas de se construir ambientes de máquinas virtuais, utilizando-se dois tipos de virtualização existentes: Tipo I: sistema no qual o hypervisor é executado entre o hardware e o sistema convidado (guest system). O hypervisor tem o controle do hardware e cria um ambiente de máquinas virtuais em que cada VM se comporta como uma máquina física completa que pode executar o seu próprio sistema operacional, semelhante a um sistema operacional tradicional. O resultado da virtualização completa da máquina é um conjunto de computadores virtuais sendo executados sobre o mesmo sistema físico, conforme ilustra a Figura 3.2. Figura Virtualização do Tipo I. Fonte: Laureano, 2006, p. 22. Tipo II: o hypervisor é executado como um processo de um sistema operacional real subjacente, denominado sistema anfitrião (host system). Neste modelo, o hypervisor é executado sobre um sistema anfitrião, como um processo num sistema real. Apesar de seu funcionamento ser análogo ao do Tipo I, sua maior diferença é a existência de um sistema abaixo deste. No tipo II de virtualização, o monitor simula para os sistemas convidados, todas as operações que o sistema anfitrião controlaria junto ao hardware, conforme ilustra a Figura 3.3.

53 52 Figura Virtualização do Tipo II. Fonte: Laureano, 2006, p Formas de Virtualização Ainda segundo Laureano (2006), a virtualização é uma forma de dividir os recursos de um computador em múltiplos ambientes de execução. Existem três formas de virtualização: de hardware, de sistema operacional e de linguagem de programação. Virtualização do hardware: exporta o sistema físico como uma abstração do hardware. Assim, qualquer software escrito para a arquitetura (x86, por exemplo) irá funcionar. Foi o modelo adotado na década de 1960 para o VM/370 nos Mainframes IBM e é a tecnologia de virtualização utilizada pela VMware na plataforma x86. Figura Exemplo de virtualização de hardware. Fonte: Laureano, 2006, p. 25.

54 53 Virtualização do sistema operacional: exporta um sistema operacional como abstração de um sistema específico. A máquina virtual executa aplicações ou conjunto delas, de um sistema operacional específico. O FreeBSD Jail ou o User Mode Linux são exemplos dessa tecnologia, mostrada pela Figura 3.5. Figura Virtualização de sistema operacional. Fonte: Laureano, 2006, p. 25. Virtualização de linguagens de programação: As máquinas virtuais nessa categoria são desenvolvidas para computadores fictícios projetados para uma finalidade específica. É obtida através da abstração de uma camada de execução, onde 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. As linguagens de programação Java, Smalltalk, Microsoft.NET CLI e Parrot são exemplos dessa arquitetura. Figura Virtualização de linguagem de programação. Fonte: Laureano, 2006, p. 26.

55 Técnicas para Virtualização Para Laureano (2006), as técnicas mais utilizadas para virtualização são: Recompilação Dinâmica, Virtualização Total e Para-virtualização. Na Recompilação Dinâmica, durante sua execução, o sistema adequa o código gerado, para reproduzir o ambiente original do programa, utilizando informações que normalmente não estão disponíveis para um compilador estático tradicional, gerando assim um código mais eficiente. Em outros casos, um sistema pode utilizar a Recompilação Dinâmica como estratégia de otimização adaptável para executar uma representação portátil do programa como o bytecodes de Java. Sete passos compõem esta técnica: 1- Agrupamento de bits: Na transformação de um programa em executável, em sua compilação, com a linkedição, é armazenada 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 utilizar esse conhecimento sobre o formato do executável e, usando heurística, 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 a linguagem C. 5- Compilação: O código gerado é novamente compilado para a nova plataforma. 6- Montagem (assembling): Os códigos 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. Na Virtualização Total, toda a estrutura de hardware é virtualizada e desta forma o sistema que será virtualizado não necessita de qualquer alteração para que

56 55 possa ser instalado. Seu principal atrativo reside neste fato, porém, o sistema virtualizado é executado de forma mais lenta e o hypervisor precisa implementar alternativas para que as operações privilegiadas possam ser executadas em processadores que não suportem a virtualização nativamente. (CARISSIMI, 2008) Para Carissimi (2008), alguns dos principais motivos para sua execução de forma mais lenta são: 1- A diversidade de dispositivos existentes que compõem um computador, o que torna difícil implementar uma máquina virtual que imite o comportamento exato de cada tipo de dispositivo, sendo necessário prover no hypervisor, suporte a um conjunto genérico de dispositivos. 2- Por não ser modificado, as instruções executadas pelo sistema hóspede devem ser testadas no hypervisor para identificar se elas são sensíveis ou não, o que representa um custo de processamento. 3- A implementação do hypervisor com virtualização total deve contornar alguns problemas técnicos devido à forma como os sistemas operacionais são implementados. Por exemplo, um sistema operacional convencional (Linux ou Windows) trabalha memória virtual através de paginação. Há uma gerência de alocação, liberação e controle de acesso às páginas que devem respeitadas. É necessário converter o espaço de endereçamento do sistema hóspede para um real, disputando recursos com outro sistema hóspede. Na Para-virtualização, o sistema para poder ser virtualizado (convidado) necessita sofrer modificações para que a interação com o hypervisor seja mais eficiente. Essa modificação diminui a portabilidade do sistema, porém permite que o sistema convidado consiga acessar recursos do hardware diretamente. Todo o acesso é monitorado pelo hypervisor, que fornece ao sistema convidado todos os limites do sistema, tais como endereços de memória e endereçamento em disco, por exemplo. Conforme destaca Laureano (2006), a principal razão para utilizar a paravirtualização é seu desempenho obtido, o que acaba compensando as modificações implementadas nos sistemas convidados. Para Carissimi (2008), a para-virtualização é uma abordagem alternativa que surge como forma de contornar as desvantagens da virtualização total. Nela, o teste por instrução não é mais necessário e os dispositivos de hardware são acessados por drivers da própria VMM.

57 Virtualização e Rede Embora a virtualização esteja na maioria das vezes associada a uma técnica que permite executar múltiplos sistemas operacionais e suas aplicações em máquinas virtuais sobre uma única máquina física, seu conceito é mais amplo. Conforme Carissimi (2008), baseado na citação da Enterprise Management Association (EMA), a virtualização é a técnica que mascara as características físicas de um recurso computacional dos sistemas, aplicações ou usuários que o utilizam. Dessa forma, pode-se apontar o uso da virtualização na implementação de desktops remotos, discos virtuais, computação em cluster, etc. Em ambientes de rede, a virtualização é utilizada na implantação de serviços de Internet e na própria infraestrutura de rede, conforme mostrados a seguir Virtualização de Serviços de Internet Carissimi (2008) diz que, geralmente os serviços de Internet são concebidos utilizando a arquitetura de multicamadas, em que determinado serviço, é dividido em várias unidades funcionais, sendo as mesmas distribuídas em várias máquinas com o objetivo de alcançar alguns benefícios como balanceamento de carga, tolerância a falhas, etc. Pode-se citar como exemplo um servidor web que acessa um banco de dados e este banco de dados não precisa estar na mesma máquina que o servidor web. Tendo um servidor de banco de dados único, tanto o servidor web como outro serviço qualquer pode usufruí-lo. Dessa forma, não ocorre a replicação de serviço do banco de dados e se evita que o servidor web também funcione como um servidor de banco de dados. (CARISSIMI, 2008) Porém, com este tipo de infraestrutura de um servidor por serviço, os responsáveis pela TI perceberam um problema e um custo para gerenciar diferentes máquinas físicas, mesmo que do mesmo sistema operacional. Existem também os problemas relacionados com consumo de energia elétrica, refrigeração, espaço físico, segurança física, etc. Neste exemplo, a virtualização surge como uma

58 57 possibilidade de agregar os benefícios da componentização 2 de software com a redução dos custos de manutenção de hardware e software. Assim, é possível manter a ideia de um servidor por serviço sem ter um equipamento específico. (CARISSIMI, 2008) Considerando-se que uma minoria de serviços está ativa enquanto a maioria está bloqueada a espera de requisições, o que representa um desperdício de recursos e que ao consolidar diferentes serviços em um mesmo equipamento físico, pode-se correr o risco de uma falha em um serviço comprometer o funcionamento de outro, a virtualização possibilita, por exemplo, que se mantenham de forma isoladas máquinas virtuais com serviços como DNS, DHCP, , etc., em um mesmo hardware, em uma técnica chamada de consolidação de servidores. (CARISSIMI, 2008) Virtualização da Infraestrutura de Rede Para Carissimi (2008), além da rede de serviços de Internet propriamente dita, existe uma infraestrutura física que é composta por equipamentos de interconexão e sua interligação. Eles podem ser visualizados como máquinas com um sistema operacional específico, dedicado a execução de uma tarefa como roteamento, encaminhamento de pacotes (Switches) e Firewalls. Vários fabricantes desses equipamentos utilizam soluções baseadas em Linux embarcado. Dessa forma podese estender a ideia de máquinas virtuais também para estes equipamentos. A virtualização destes equipamentos de redes inicia-se no suporte que as máquinas virtuais oferecem para as interfaces de rede. Essas interfaces de redes virtuais se comportam exatamente como interfaces reais com endereço MAC distinto, suporte a unicast, multicast, broadcast e VLANs, e cada máquina virtual tem seu próprio endereço IP. (CARISSIMI, 2008) O par TUN/TAP, por exemplo, são drivers de dispositivos virtuais disponíveis para os sistemas operacionais como Mac OS, Windows, Linux e Unix, em geral. Geralmente eles são encontrados no contexto de redes privativas virtuais ou Virtual 2 A Componentização, no âmbito da engenharia de software, pode ser conceituada como uma unidade de software que pode ser agrupada a outras unidades de software para formar um sistema maior. (MARTINS, 2009)

59 58 Private Network (VPN) ou em conjunto com o OpenSSH. Carissimi (2008), explica que o conjunto TUN/TAP emula, respectivamente, o comportamento da camada de rede e de enlace onde o TAP permite a criação de bridges enquanto o TUN executa roteamento. Uma aplicação pode usar o driver TUN/TAP para enviar e receber dados. No envio, os dados são encaminhados para a pilha de protocolos de rede como se eles fossem oriundos de uma fonte externa e sua recepção é similar. Assim, com o uso dos drivers TUN/TAP, qualquer par de aplicações pode enviar e receber dados como se eles estivem tratando com um dispositivo externo. Essa é a base usada para prover uma comunicação em rede virtual. (CARISSIMI, 2008) Segundo Carrissimi (2008), quanto aos equipamentos de interconexão de redes, como switches e roteadores, mesmo que naturalmente não façam parte das máquinas virtuais, podem ser emulados da mesma forma, existindo três possíveis formas de prover essa emulação: A primeira é a disponibilização de um produto completo que ofereça, além da máquina virtual, suporte para equipamentos de interconexão de rede virtuais. Essa é a solução adotada pela VMware, Microsoft e Citrix em seus produtos para clientes coorporativos. A segunda é prover máquinas virtuais dedicadas a essa finalidade, como no caso da Vyatta, por exemplo, que oferece um produto compatível com os hypervisors mais comuns do mercado. Esta solução agrega uma camada de software suplementar que simula equipamentos de interconexão de redes. A terceira é oferecer hardware específico com suporte a virtualização de equipamentos de interconexão, como é o caso de alguns produtos da linha Catalyst da Cisco. Carissimi (2008) conclui, portanto, que é possível construir uma infraestrutura de rede completa totalmente virtualizada. A arquitetura exata e as opções de projeto, como em uma rede real, dependem, caso a caso, em função de requisitos da organização. O importante a salientar é que existe tecnologia para tal. 3.3 AS CARACTERÍSTICAS DO HYPERVISOR Quanto ao seu funcionamento, Laureano e Maziero (2008), citam que para

60 59 funcionar de forma correta e eficiente, um hypervisor além de ter o controle total sobre os recursos do sistema real (sistema hospedeiro), deve atender a alguns requisitos básicos como, por exemplo, prover um ambiente de execução aos programas, do ponto de vista lógico, idêntico ao da máquina real. Estes programas quando executados em uma máquina virtual devem apresentar, no pior caso, leves degradações de desempenho. Algumas destas características do hypervisor foram apontadas por Laureano (2006), como importantes para a segurança de sistemas e outras aplicações. As seguintes propriedades a serem satisfeitas foram definidas por Goldberg e Popek e mostradas por Laureano e Maziero (2008), conforme segue: Isolamento: garante que um software em execução em uma máquina virtual não acesse nem modifique outro software em execução tanto no monitor ou em outra máquina virtual. Essa propriedade é utilizada para que erros de um software ou ataques de hackers/crackers possam ser contidos dentro da máquina virtual sem afetar as outras partes do sistema. Além de isolar dados, o isolamento também auxilia no gerenciamento de recursos, pois 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. Inspeção: 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. Gerenciabilidade: Como cada máquina virtual é uma entidade independente das demais, a administração das diversas instâncias de VMs é simplificada e centralizada. O hypervisor deve possuir meios para gerenciar os recursos existentes entre os sistemas. Interposição: intercalar ou acrescentar instruções em certas operações de uma máquina virtual. Por exemplo, na execução de instruções privilegiadas por parte da máquina virtual. Eficiência: diz que grande parte das instruções do processador virtual deve ser executada diretamente pelo processador da máquina real, sem intervenção do hypervisor. As instruções da máquina virtual que não puderem ser executadas pelo processador real devem ser interpretadas pelo hypervisor e traduzidas em ações equivalentes no processador real. Instruções simples, que não afetem outras máquinas virtuais ou aplicações, podem ser executadas diretamente no hardware. Compatibilidade do software: A máquina virtual fornece uma abstração

61 60 compatível, de modo que todo o software escrito para ela funcione. Essa abstração frequentemente pode mascarar diferenças nas camadas do hardware e do software abaixo da máquina virtual. Isso acontece com o Java, no qual uma vez escrito um software em sua linguagem, pode-se executá-lo em qualquer outra máquina virtual Java. Equivalência: o hypervisor deve oferecer um ambiente de execução quase idêntico ao da máquina real original. Todo programa executando em uma máquina virtual deve se comportar da mesma forma que o faria em uma máquina real e as exceções podem resultar somente de diferenças nos recursos disponíveis (memória, disco, etc.), dependências de temporização e a existência dos dispositivos de E/S necessários à aplicação. Encapsulamento: utilização da camada de virtualização para manipular e controlar a execução do software na máquina virtual. Pode também usar uma ação indireta para dar prioridade ao software ou fornecer um ambiente melhor para execução. Outra propriedade é o encapsulamento de estado, que pode ser utilizado para construir checkpoints ou snapshot do estado da máquina virtual, por exemplo, para uma possível restauração após uma atualização do sistema operacional. Desempenho: apesar da adição de uma camada de software a um sistema afetar o desempenho do software que funciona na máquina virtual, os benefícios proporcionados compensam a perda de desempenho. Recursividade: deve ser possível executar um hypervisor dentro de uma máquina virtual, produzindo um novo nível de máquinas virtuais. Neste caso, a máquina real é normalmente denominada máquina de nível 0. Laureano (2006) ressalta que os Mainframes da IBM, que são hardwares virtualizáveis, têm uma propriedade chamada execução direta, que permite que esses sistemas obtenham, com a utilização de máquinas virtuais, desempenho similar ao de um sistema convencional equivalente. 3.4 FERRAMENTAS DE VIRTUALIZAÇÃO A crescente utilização da virtualização, embora conceito antigo é uma grande evolução da informática nos últimos anos, sendo muito importante inclusive como

62 61 ponto de apoio a outras tecnologias, como por exemplo, a Computação em Nuvem, citada no início deste trabalho. Existem várias ferramentas para a virtualização, que vão desde soluções de código aberto, até integradas ao sistema operacional. Este capítulo tem como finalidade apresentar algumas das ferramentas de virtualização mais conhecidas do mercado corporativo ou de uso particular VMware Segundo Brendel (2008), a VMware foi pioneira no que se refere à virtualização, principalmente em equipamentos da arquitetura x86 no final da década de 90. Para Laureano e Maziero (2008), nessa época já se percebia que os servidores que se multiplicavam nas empresas ofereciam alto poder de processamento, porém tinham uma utilização abaixo de sua capacidade. Seu hypervisor emula certas instruções para representar corretamente o processador virtual em cada VM, fazendo uso de mecanismos de tradução dinâmica. (Laureano e Maziero, 2008) Atualmente a VMware provê uma série de serviços de soluções baseadas em Computação em Nuvem e infraestrutura de virtualização completa com produtos que abrangem desde desktops até Data Centers, organizados em diversas categorias, entre elas: Data Center, Infraestrutura em Nuvem, Produtos para Segurança, Gerenciamento de Aplicativos, Produtos Gratuitos e Computação para o Usuário final, Produtos para Mac, Plataforma para Aplicativos e outros. (VMWARE, 2011b) Destacam-se entre estes, como as mais conhecidas, as soluções encontradas nas categorias Data Center e Infraestrutura em Nuvem, Produtos Gratuitos e Produtos para Mac, que contemplam algumas das soluções descritas por Carissimi (2008) e também por Laureano e Maziero (2008), como VMware Workstation, VMware Player, VMware Fusion, VMware Server, VMware ESX e VMware ESXi. A seguir serão resumidas as principais características e informações relevantes, como a mudança de nomes de algumas dessas soluções e em qual tipo de virtualização ela se encaixa. VMware Workstation: segundo Laureano e Maziero (2008), foi primeira versão comercial de virtualização lançada em 1999, para ambientes desktops.

63 62 Permite a criação e a execução de máquinas virtuais sobre o hypervisor. A configuração das máquinas virtuais para um determinado sistema operacional é feita através de ferramenta específica integrante desse produto. (CARISSIMI, 2008) VMware Player: versão gratuita do VMware Workstation, cuja finalidade é permitir que usuários testem o uso da virtualização, porém não é possível criar um o sistema hóspede ou máquina virtual a partir do zero. Por outro lado, em seu site, a VMware distribui uma série de appliances que são imagens de sistemas hóspedes com diferentes distribuições Linux e Windows com os mais variados tipos e soluções de aplicativos já instalados e prontos para executar. (CARISSIMI, 2008) VMware Fusion: é o equivalente ao VMware Workstation para o sistema operacional MacOS X. (CARISSIMI, 2008) VMware Server: é indicado para instalação em servidores, originalmente era a versão gratuita dos produtos ESX Server. Seu objetivo essencial era permitir que usuários testassem o produto antes de adquiri-lo. Assim como as versões ESX, o VMware Server oferece a virtualização de processador, memória, armazenamento e infraestrutura de rede. (CARISSIMI, 2008). Em 2010, a VMware anunciou o fim do suporte para esta solução para junho de 2011 e recomendou que as máquinas virtuais que estivessem sendo executadas sobre o VMware Server fossem migradas para as soluções atuais e de melhor tecnologia, por exemplo, o VMware vsphere. (VMWARE, 2011b) VMware ESX: é a base para a criação de Data Centers virtuais. O ESX Server é um hypervisor que virtualiza os recursos de hardware do tipo processador, memória, armazenamento e rede. Desta forma, permite que um servidor físico seja particionado em várias máquinas virtuais e que cada uma seja vista como uma máquina física em uma infraestrutura de rede convencional. (CARISSIMI, 2008) Indicado para servidores de grande porte possui um núcleo proprietário chamado vmkernel e utiliza uma distribuição Linux para prover outros serviços, tais como a gerência de usuários além de implementar a para-virtualização. Por questões de desempenho, este hypervisor utiliza uma abordagem híbrida para implementar a interface com as máquinas virtuais, no qual o controle de exceção e o gerenciamento de memória são realizados por acesso direto ao hardware, mas o controle de E/S usa o sistema hospedeiro. Para garantir que não ocorra colisão de memória entre o sistema convidado e o real, é alocada uma parte da memória para uso exclusivo de cada sistema convidado. (LAUREANO E MAZIERO, 2008).

64 63 Figura Arquitetura do VMware ESX. Fonte: Vmware, 2012a. VMware ESXi: de acordo com Carissimi (2008), esta versão possui as mesmas características e funcionalidades descritas anteriormente para o ESX. A diferença consiste em sua arquitetura interna e na forma como alguns procedimentos de gerenciamento são executados. Conforme Figura 3.8, no ESXi o chamado "Console de Serviço", que é usado para executar tarefas de gerenciamento local, como a execução de scripts ou instalação de agentes de terceiros, foi removido, reduzindo drasticamente o tamanho do código do hypervisor para menos de 150MB contra 2GB no ESX, além de completar a tendência em curso de migrar a funcionalidade de gerenciamento da interface local de linha de comando para ferramentas de gerenciamento remoto. (VMWARE, 2012b). Figura Arquitetura do VMware ESXi. Fonte: Vmware, 2012a.

65 64 Atualmente a linha de produtos baseadas no ESX e ESXi é chamada de plataforma VMware vsphere na versão paga e VMware vsphere Hypervisor na versão free. A mudança de nome se deu devido ao fato de ter havido interpretações errôneas por parte dos usuários quanto às funcionalidades oferecidas pelas duas versões. (VSPHERE HYPERVISOR, 2012) No kit do vsphere é incluído a virtualização do vsphere e o vcenter Server para gerenciamento centralizado. (VSPHERE, 2012) VMware vcenter Server: é um hub universal para gerenciar o ambiente VMware vsphere, fornece uma gerência unificada de todos os hosts e máquinas virtuais de um Data Center a partir de um único console, permite que os administradores tenham mais controle e reduzam a complexidade de gerenciamento das máquinas virtuais. Uma única instância do vcenter Server gerencia até 300 hosts e máquinas virtuais. O vcenter Server monitora continuamente a utilização dos pools de recursos, que migra de modo inteligente as máquinas virtuais entre os hosts a fim de manter a integridade do ambiente e não causar paradas. (VCENTER SERVER, 2009) Esse recurso é chamado vmotion e é feito de forma transparente ao usuário, ilustrado pela Figura 3.9. (VMOTION, 2012) Figura Live Migration com vmotion. Fonte: Vmotion, VMware vcenter Converter: é a ferramenta free disponibilizada pela VMware para, de forma simplificada, converter máquinas físicas Windows ou Linux para virtuais, assim como conversões entre diferentes formatos de máquinas

66 65 virtuais. (VCENTER CONVERTER, 2012) Todas estas soluções apresentadas possuem um nicho específico de aplicação. Desta forma a VMware oferece uma maior abrangência de soluções aos seus usuários. Para este trabalho, a ferramenta da VMware utilizada será a versão vsphere Hypervisor (ESXi) Xen Segundo Carissimi, (2008), o Xen é um hypervisor, licenciado sob os termos da Gnu is Not Unix/ General Public Licence, ou seja, GNU/GPL, originalmente para arquiteturas x86, que teve sua origem a partir de um projeto de pesquisa da universidade de Cambridge, que resultou na criação da empresa XenSource inc. Seu desenvolvimento também contou com o apoio de empresas de tecnologia conhecidas globalmente como IBM, HP, Intel, AMD entre outras. (SLTI, 2006) Sua primeira versão foi em outubro de 2003 e de início utilizava a técnica da para-virtualização, na qual era necessário modificar os sistemas operacionais hóspedes para torná-los conscientes da existência do hypervisor. Embora este recurso fosse justificado por questões de desempenho, limitou o emprego do Xen aos sistemas Unix, principalmente aqueles com filosofia de código aberto. (CARISSIMI, 2008) Essa característica possibilitou com que fosse portado para outros sistemas operacionais como NetBSD, FreeBSD e Solaris. (SLTI, 2006) A partir da terceira versão, o Xen passou a oferecer virtualização completa, permitindo o uso de sistemas operacionais não modificados, como os sistemas operacionais da família Microsoft Windows. Entretanto, isso só é possível caso o processador ofereça suporte de hardware, como por exemplo, Intel VT ou AMD-V. (CARISSIMI, 2008) Em Laureano e Maziero (2008), é cita-se que com a utilização do suporte de virtualização disponível nos processadores atuais, é possível a execução de sistemas convidados sem modificações, porém com desempenho ligeiramente menor em relação aos sistemas para-virtualizados. Quanto ao seu funcionamento,

67 66 existem diferenças desde as versões iniciais até as atuais e também em relação a outras soluções de virtualização, conforme mostrado por diversos autores. Quanto à questão dos níveis de acesso tratada a seguir, faz-se necessário destacar que são encontrados quatro níveis de privilégios de acesso para operações de sistemas e acesso das aplicações ao hardware na arquitetura x86, conhecidos como Ring 0, 1, 2 e 3. As aplicações de usuários típicas são executadas no Ring 3 e os sistemas operacionais por sua vez utilizam o Ring 0, em que precisam ter acesso direto à memória e ao hardware para executar as instruções em nível privilegiado. (PINHEIRO, 2009) A execução do Xen é feita diretamente sobre o hardware, no Ring 0 além da existência de uma máquina virtual chamada de Dom0. Essa máquina tem acesso privilegiado ao hypervisor, o que permite a ela as operações necessárias que as demais máquinas virtuais não podem executar. A máquina virtual Dom0 é responsável por gerenciar toda a estrutura de virtualização, fazendo uso de aplicações que têm acesso ao hypervisor. É nesta máquina virtual que se parametriza a virtualização do hardware e a porção entregue para cada máquina convidada que não tenha acesso direto ao hardware e ao hypervisor. (SLTI, 2006) Carissimi (2008) detalha que os dois principais conceitos do Xen são domínios e hypervisor. Os domínios são as máquinas virtuais do Xen que são de dois tipos: privilegiada (domínio 0) e não-privilegiada (domínio U). O hypervisor tem como função controlar os recursos de comunicação, memória e processamento das máquinas virtuais, e não possui drivers de dispositivos. De acordo com as características do hypervisor Xen, não há suporte a interação com sistemas hóspedes, por isso, é necessário que exista um sistema inicial a ser invocado pelo hypervisor. Esse sistema inicial é o domínio 0, e as outras máquinas virtuais só podem ser executadas depois que ele for iniciado. As máquinas virtuais de domínio U são criadas, inicializadas e encerradas através do domínio 0. Conforme ilustra a Figura 3.10, o domínio 0 é uma máquina virtual única que executa um Kernel Linux modificado e possuí privilégios especiais para acessar os recursos físicos de entrada e saída e interagir com as demais máquinas virtuais (domínios U). Por ser um sistema operacional modificado, o domínio 0 possui os drivers de dispositivos da máquina física e dois drivers especiais para tratar as requisições de acesso a rede e ao disco efetuados pelas máquinas virtuais dos domínios U. (CARISSIMI, 2008)

68 67 Figura Relacionamento entre os componentes do Xen. Fonte: Carissimi, 2008, p Segundo Carissimi (2008), para oferecer suporte tanto para a paravirtualização como para a virtualização completa, o Xen distingue os domínios U entre para-virtualizados (U-PV) e virtualizados (U-HVM, ou Hosted Virtual Machines). Os domínios U-PV têm consciência de que não tem acesso direto ao hardware e reconhecem a existência de outras máquinas virtuais. Os domínios U-HVM não têm essa consciência, e não reconhecem a existência de outras máquinas virtuais. Isso se traduz no fato de que os domínios U-PV possuem drivers específicos para acesso a rede e a disco para interagirem com as suas contrapartidas no domínio 0. Já as máquinas dos domínios U-HVM não possuem esses drivers, pois não foram modificados, e iniciam como um sistema convencional que procura executar o Basic Input Output System (BIOS). O Xen virtual firmware simula a existência do BIOS que executa todos os procedimentos esperados durante um processo de boot normal de um PC compatível. O compartilhamento do disco e as requisições de rede de um domínio U-HVM são feitos através do daemon Qemu, que é um emulador de software de código aberto, vinculado a cada instância U-HMV. Assim, o hardware disponível para as máquinas virtuais do domínio U-HVM são os oferecidos pelo Qemu. (CARISSIMI, 2008) Ainda quanto ao funcionamento, Laureano e Maziero (2008), explicam que as principais modificações impostas pelo ambiente Xen a um sistema operacional

69 68 convidado são: a) o mecanismo de entrega de interrupções passa a usar um serviço de eventos oferecido pelo hypervisor; b) e as operações de E/S de dispositivos são feitas através de uma interface simplificada, independente de dispositivo. Devido à diferença de funcionamento entre o Xen e o VMware, principalmente nas suas versões iniciais, até agora o que foi mostrado sobre esta solução, foi referente à sua versão de código aberto e apresentado de uma forma mais técnica. Conforme Carissimi (2008), em outubro 2007 a XenSource foi adquirida pela Citrix System, que passou e desenvolver um produto para uso profissional nas empresas. (TAKEMURA; CRAWFORD, 2010) A Citrix procura oferecer junto ao seu produto um processo de certificação, e estabelecer as melhores práticas para que os administradores possam implantar o Xen com um mínimo de trabalho. Sua solução tem como base a versão open source do Xen na qual contribui com alterações, mas também faz um nível adicional de controle de qualidade. (TAKEMURA; CRAWFORD, 2010) Inicialmente o produto da Citrix consistia de dois componentes, o XenServer e XenEssentials, em que o primeiro é o próprio hypervisor e suas ferramentas básicas de gestão, disponível de forma gratuita, que suporta a maioria das características dos produtos pagos Citrix, com a mesma interface, voltada para o desenvolvimento, teste e implementações em ambientes de produção não crítico ou de testes. O segundo é uma suíte de utilitários paga, com vários níveis de licenciamento. Esse pacote contém todas as características do Xen open source, além de todas as características de produto exclusivamente comercial oferecido pela Citrix. (TAKEMURA; CRAWFORD, 2010). Atualmente, dentre os produtos de virtualização, seus recursos e ferramentas disponíveis para seu gerenciamento a Citrix destaca: Citrix XenServer: é o carro chefe como solução de virtualização de servidor, fornece recursos de gerenciamento para integrar e automatizar datacenters virtuais, com um hypervisor de 64 bits e console de gerenciamento, permite a migração em tempo real de recursos e as ferramentas necessárias para converter cargas de trabalho existentes a partir de um ambiente físico para virtual. (CITRIX, 2011) Citrix XenCenter, é um console para gerenciamento em uma única interface que permite gerenciar centenas de VMs de forma centralizada, pode ser instalado a partir de um desktop windows. (CITRIX, 2011) Console Web: ferramenta simples baseada em Web, que oferece aos

70 69 administradores de TI delegação de direitos e uma forma para gerenciar as operações diárias de uma VM. (CITRIX, 2011) Citrix XenConvert: permite a importação e migração de servidores físicos para virtuais (P2V), assim como virtuais de outras soluções para virtuais (V2V). (CITRIX, 2011) Citrix XenMotion: permite que VMs ativas possam ser movidas para um novo hospedeiro sem interrupções de aplicação ou tempo de inatividade, garantindo a disponibilidade de serviços. vapps: coleção de uma ou mais máquinas virtuais que representa uma aplicação. O vapp combina essas máquinas virtuais em um appliance virtual que pode ser gerenciado como uma unidade no XenCenter, e pode conter informações críticas de configuração da VM, como o seqüenciamento de inicialização. Um vapp pode ser atribuído a uma configuração de alta disponibilidade, e diretamente incluído no planejamento de recuperação de desastres por meio do Integrated Site Recovery. (CITRIX, 2011) VM protection and recovery: oferece proteção contra perda de dados em caso de falha da VM automaticamente, faz snapshots de máquinas virtuais regularmente, arquivando essas imagens em um local especificado para armazenamento. (CITRIX, 2011) Para este trabalho, será utilizado a versão free do XenSever oferecida pela Citrix. Com este capítulo espera-se ter sido possível de forma básica um entendimento do conceito da virtualização, seus tipos, características e aplicações existentes, além dos recursos e funcionalidades oferecidas pelas soluções de virtualização da Vmware e da Citrix.

71 70 4 UTILIZAÇÃO DAS FERRAMENTAS Neste capítulo são mostradas algumas das funcionalidades das ferramentas de virtualização VmWare e XenServer de forma mais visual, através de telas que mostram os passos de suas instalações e suas respectivas interfaces gráficas para gerenciamento. São instalados sistemas operacionais de rede utilizando-se versões conhecidas como a distribuição Linux Ubuntu Server 10.10, e o Microsoft Windows Server 2003 e Windows Server 2008, como forma de verificar a capacidade das soluções em executar diferentes sistemas operacionais. No caso do Windows Server 2003, será feita a importação através das respectivas ferramentas oferecidas tanto pela VMware com o vcenter Converter, quanto pela Citrix com o XenConvert, de uma máquina que esteja em produção devidamente configurada e em funcionamento. Os passos das instalações dos sistemas operacionais das máquinas virtuais em si não serão apresentados, visto que este não é o foco deste trabalho, mas sim a apresentação de recursos das ferramentas como: Importação de um servidor em produção, convertendo-o para virtual. Movimentação de máquinas virtuais entre os hosts físicos. Sendo estes alguns dos pontos importantes considerados durante a escolha da ferramenta, visando o mínimo de interrupções no ambiente de trabalho. A importação de máquinas físicas para virtual (P2V), ou virtual para virtual (V2V) propicia maior agilidade na implantação do novo ambiente, sem que tudo seja configurado do zero, o que demandaria um maior tempo de trabalho. 4.1 AMBIENTE DE TRABALHO Foram utilizados neste trabalho três servidores físicos, Dell PowerEdge 2950, onde dois servidores foram utilizados como hosts para a execução das máquinas virtuais com a utilização do respectivo sistema hypervisor de cada solução e o outro servidor serviu como Storage, tendo como sistema base o Ubuntu Server com

72 discos ligados em RAID 0 e sistema de arquivos Network File System (NFS), conforme ilustrado na tabela 4.1 e também pela figura Tabela Configuração das máquinas físicas utilizadas Descrição Host 1 Host 2 Storage Modelo PowerEdge 2950 PowerEdge 2950 PowerEdge 2950 Processador 2 Xeon Dual Core 2 Xeon Dual Core 2 Xeon Quad Core Velocidade 1.6 Ghz 1.6 Ghz 1.6 Ghz Memória 8 GB 8 GB 8 GB Disco 1 2 x 70 GB - RAID 1 2 x 70 GB - RAID 1 2 x 70 GB - RAID 1 Disco 2 2 x 300 GB - RAID 1 2 x 300 GB - RAID 1 Interface SCSI SCSI SCSI 2 x 300 GB - RAID 0 Figura Esquema do ambiente utilizado.

73 SOLUÇÃO DA VMWARE Os passos necessários para a instalação do hypervisor da VmWare estão descritos no anexo A deste trabalho. Após a instalação do sistema base nos servidores, é necessário fazer a instalação do vsphere Client em um computador que esteja na mesma rede. É o vsphere Client que possibilitará que as configurações iniciais como mapeamento do Storage e a criação e gerenciamento das VMs sejam feitas. Desta forma que o sistema se encontra, já pode ser colocado em funcionamento, porém, para que seja possível a movimentação das VMs entre os hosts físicos, é necessário ainda que o gerenciamento dos servidores seja feito através de outra máquina dedicada com o vcenter. Para efeito deste trabalho, esta será a primeira VM a ser criada, utilizando o vsphere Client. Ao iniciar o vsphere Client para a primeira conexão, devem ser inseridos o IP do servidor a ser acessado, o usuário root e a senha definida na instalação, mostrada pela Figura 4.2. Figura Informações necessárias para conexão. Depois do processo do login com o servidor, é mostrado um alerta sobre o certificado de segurança fornecido pelo servidor. Pode-se optar por instalar este certificado ou ignorar sua instalação.

74 73 Na sequência já é exibida a tela do vsphere Client, na qual é possível acessar diversas informações do servidor atual e demais configurações possíveis, conforme mostrado pela Figura 4.3. Figura Visualização do sumário de informações do servidor. Ao clicar no ícone de Home, podem ser acessadas diversas opções, como por exemplo, administração, gerenciamento, entre outras. Estas opções podem ser visualizadas pela Figura 4.4. Figura Opções para administração e gerenciamento.

75 Apresentação do Storage Com o cliente instalado e conectado ao primeiro servidor físico, o próximo passo é o mapeamento do Storage que conterá as máquinas virtuais, dentre elas uma que é exclusiva para o gerenciamento do ambiente e que executa o vcenter. Este Storage será visualizado por todos os demais servidores físicos e é muito importante para que se possa utilizar os recursos de movimentação de VMs, entre os hosts físicos. Para isso, deve-se clicar no ícone Hosts and Clusters, dentro da opção Inventory da página inicial, seleciona-se o servidor e em seguida, clique na aba Configuration, seguida da opção Storage encontrada ao lado esquerdo do menu Hardware e, em seguida, Add Storage, para iniciar a apresentação do Storage localizado no servidor Linux citado no início do capítulo. A Figura 4.5 ilustra todo este procedimento. Figura Início da adição do Storage. A Figura 4.6 mostra a necessidade de escolha do tipo de Storage que está sendo apresentado, tipo Lun, geralmente encontrado em equipamentos profissionais nos quais todo o ambiente está interligado através de fibra óptica, caso contrário selecione o tipo NFS. Figura Escolha do tipo de armazenamento que será utilizado.

76 Em seguida deve-se inserir o IP do servidor NFS, a pasta que está compartilhada e o nome que será dado ao disco mapeado. 75 Figura Informações para o mapeamento. Após esses passos, ilustrados pela Figura 4.7, é mostrado na Figura 4.8, um resumo das informações para que sejam conferidas e confirmadas, concluindo o mapeamento do Storage. Figura Resumo das opções escolhidas. Após clicar em Finish, o usuário é levado de volta à tela de configuração, na qual é possível visualizar, através da Figura 4.9, o novo Storage já alocado para o servidor. Figura Mapeamento do Storage concluído.

77 Ao clicar como botão direito do mouse, é apresentado opção de navegar pelo disco do Storage recém-mapeado, conforme mostram as Figuras 4.10 e Figura Opção para navegação no Storage. Figura Navegação dentro do Storage Criação da VM para o vcenter Para que seja possível o gerenciamento centralizado dos servidores físicos que hospedam as VMs, é necessário conforme já citado, que seja instalado o vcenter em uma máquina dedicada, que pode ser uma máquina virtual. Para esta versão foi necessário o uso do Sistema Operacional Windows 2008 R2 de 64 bits para a VM, conforme ilustram as Figuras de 4.12 a O procedimento para a criação de VMs dos diferentes sistemas operacionais existentes segue o mesmo conceito, basta selecionar o tipo de sistema operacional que será virtualizado. Na tela do vsphere Client, deve-se clicar com o botão direito do mouse no servidor que queira se conectar e escolher no menu que se abre, a opção New

78 77 Virtual Machine. Esse processo é mostrado pela Figura Figura Início da criação de uma VM. A seguir, ilustrado pela Figura 4.13, deve-se escolher a configuração típica ou se o usuário gostaria de personalizar as configurações da nova VM. Neste caso foi optado pela configuração típica, porém várias configurações podem ser alteradas através da edição das propriedades da VM após a sua criação. Figura Escolha de configurações típicas para a VM. Em seguida deve-se escolher um nome para a VM que será criada. Neste caso foi utilizado o mesmo nome de sua função, vcenter, como mostra a Figura Figura Escolha do nome da VM.

79 78 A Figura 4.15 mostra o próximo passo que é a escolha do local de armazenamento da VM, sendo apresentado além do disco local do servidor, o Storage que foi mapeado anteriormente, e que foi escolhido. Figura Escolha do local de armazenamento da VM. Agora é necessário selecionar qual é o Sistema Operacional virtualizado e sua versão. Foi escolhido, de acordo com a Figura 4.16, o sistema Microsoft Windows Server 2008 R2 de 64 bits, exigido para esta versão do vcenter. Figura Escolha do sistema operacional e versão. Fonte: Elaborada pelo autor. A figura 4.17, mostra a possibilidade de escolha da quantidade de placas de rede que a VM terá e se ela será ativada ao inicializar a VM. Figura Quantidade de placas de rede utilizadas pela VM.

80 79 O próximo passo, mostrado pela Figura 4.18, é definir o tamanho do disco virtual que será alocado para a VM e que ficará alocado no Storage mapeado anteriormente. Figura Escolha do tamanho do disco que a VM terá. Depois é apresentado pela Figura 4.19, um resumo com todas as opções selecionadas para a confirmação do usuário, e finalmente, criar a VM. Figura Resumo das configurações escolhidas. Na Figura 4.20, já é possível visualizar a VM criada no servidor, pronta para ser inicializada. Figura VM criada e pronta para inicialização.

81 Criação do Datacenter Até esta etapa, a conexão do vsphere Client, foi feita somente com um dos hosts, para que fosse possível criar a VM que conterá o vcenter que é a ferramenta que permite gerenciar de forma centralizada dos demais hosts. Um requisito para sua instalação conforme citado anteriormente, é que a versão do sistema operacional seja o Windows Server 2008 R2 de 64 bits. Depois de instalado, as conexões do vsphere Client, passam a ser feitas pelo novo servidor. É nele que é criado o Datacenter como é chamado o conjunto de hosts físicos que serão adicionados posteriormente para gerenciamento. Podem ser criadas mais de uma entrada de Datacenter, para diferentes utilizações. Neste trabalho será criado somente uma. Ao fazer a conexão com o novo servidor, Figura 4.21, percebe-se que ao invés de aparecer o IP do servidor, aparece a entrada vcenter. Deve-se clicar com o botão direito do mouse sobre ele e escolher a opção New Datacenter. Figura Início da criação do novo Datacenter. Em seguida, escolher um nome para o Datacenter e concluir sua criação, conforme Figura Figura Datacenter criado.

82 81 O próximo passo é adicionar os servidores físicos que farão parte do Datacenter recém-criado. Neste processo mostrado pela Figura 4.23, com o botão direito no mouse, deve-se clicar na opção Add Host. Figura Adição de um host. Fonte: elaborada pelo autor, Em seguida aparece uma tela que solicita o endereço IP, nome de usuário e senha para a conexão com o servidor, conforme Figura Figura Entrada das informações do servidor. É exibido um alerta para a autenticidade do certificado de segurança, que pode ser verificado pela Fgura Selecione a opção SIM para prosseguir. Figura Alerta sobre o certificado de segurança.

83 Em seguida um resumo com informações sobre o host e suas VMs atuais é exibido pela Figura Figura Sumário do host. No próximo passo, mostrado pela Figura 4.27, o servidor deve ser associado a uma chave de licença que foi adquirida pelo usuário para utilização dos recursos da ferramenta. Figura Associação à licença de uso. É oferecida a opção de bloquear tentativas de logon diretamente no servidor físico, restringindo seu acesso somente através do vcenter, conforme Figura Figura Opção de bloqueio de logon no host físico. Figura: Elaborada pelo autor, 2012.

84 Após, é feita a escolha do grupo em que o servidor será alocado. Neste caso só existe um grupo, o Datacenter criado anteriormente, mostrado pela Figura Figura Seleção do Datacenter que abrigará o host. Um resumo com as opções escolhidas até agora é exibido pela Figura 4.30, para confirmação do usuário. Figura Apresentação do resumo pronto para finalização. Ao clicar em Finish, o servidor host e suas VMs em execução, já podem ser vistos dentro do Datacenter, de acordo com a Ffigura Figura Host adicionado com sucesso.

85 vcenter Converter O vcenter Converter como já citado anteriormente, é uma ferramenta gratuita da VMware para a conversão de máquinas físicas para virtual (P2V) ou máquinas virtuais para virtual (V2V). Serão demonstrados os passos utilizados na conversão de uma máquina virtual com o Microsoft Windows 2003 sendo executada sob o VirtualBox, que é uma solução de virtualização do tipo 2 e que está em execução no computador local utilizado no acesso ao vcenter. Após a instalação do aplicativo na máquina que será importada, deve-se iniciar o aplicativo e clicar na opção Convert Machine para iniciar o assistente de importação, conforme mostrado pela Figura Figura Início da conversão. No próximo passo, conforme Figura 4.33, deve-se optar pelo tipo de máquina que será convertida. Selecione a opção This local machine e clique em Next.. Figura Características da máquina a ser convertida. O próximo passo, ilustrado pela Figura 4.34, é a entrada do endereço IP do servidor que executa o vcenter e de seu usuário com permissões de administrador.

86 85 Figura Informações do vcenter. Fonte: Elaborada pelo autor, 2012 É exibido um alerta quanto ao certificado de segurança, pois não foi possível verificar a autoridade certificadora do certificado emitido. Basta clicar em Ignore para continuar. Em seguida é necessária a seleção do grupo de servidores em que a VM será alocada. Neste caso só existe um grupo, já com três VMs em execução, conforme ilustrado pela Figura Figura Escolha do Grupo de servidores para alocar a VM. O próximo passo, conforme a Figura 4.36, é escolher entre os servidores do grupo Datacenter, qual host vai inicializar a VM e em qual Storage ela será armazenada, caso exista mais de um. Figura Seleção do servidor físico para execução inicial.

87 86 A Figura 4.37, mostra as opções que podem ser alteradas, por exemplo, o tamanho de disco da máquina a ser convertida, no qual é possível aumentar ou diminuir o mesmo. Figura Edição da máquina antes da conversão. Após a edição, se necessário, é apresentada uma tela, conforme Figura 4.38, com o resumo de todos os dados referentes à importação. Ao clicar em Finish, inicia-se o processo de conversão, que pode demorar de acordo com o tamanho do disco da máquina de origem e a velocidade de tráfego da rede. Figura Resumo da importação.

88 87 Ao término da conversão, a VM já fica disponível no vcenter e pode ser inicializada. Conforme ilustra a Figura 4.39, ao inicializar a nova VM, o sistema operacional da máquina convertida detecta que houve uma alteração no seu hardware e solicita que seja feita nova ativação de sua licença de uso. Figura Alteração de hardware detectada vmotion Outra funcionalidade de destaque para este tipo de solução de virtualização é a capacidade de movimentar as máquinas virtuais, em execução, entre os hosts físicos sem ocorrer parada durante a movimentação. Esta movimentação pode ser feita de forma automática, controlada pelo vcenter de acordo com o consumo de recursos do host, que neste caso, direciona a execução de uma VM para outro host, ou de forma manual, com intervenção do administrador do sistema. Neste trabalho demonstra-se a movimentação manual de uma VM. Para que o recurso de movimentação esteja disponível, é preciso primeiro habilitá-lo nas propriedades de rede dos servidores físicos. Deve-se acessar a aba Configuration e, em seguida, Networking no lado esquerdo da tela.

89 Ao ser exibido o gráfico das interfaces de rede, deve-se clicar em Proprieties, para acessar a tela de configuração, conforme Figura Figura Acessando as propriedades de rede do host. Em seguida, na próxima tela, na aba Ports, uma entrada de nome Management Network deve ser selecionada. Após a seleção, clique em Edit para habilitar o vmotion. De acordo com a Figura 4.41, deve-se clicar em Enabled e em seguida em OK. Assim, habilita-se o recurso de movimentação de VMs. Figura Habilitando o vmotion. Com o recurso habilitado, deve-se clicar com o botão direito do mouse sobre a VM que deseja movimentar e em seguida selecionar a opção Migrate. A Figura 4.42, ilustra este procedimento. Figura Selecionando a VM para migração.

90 89 Em seguida deve-se escolher entre mudar de host físico, mover os discos virtuais para outro Storage, ou ambos. Conforme Figura 4.43, foi escolhida a opção Change host, que muda de host físico. Figura Escolha do tipo de movimentação. alocada. Após, ilustrado pela Figura 4.44, seleciona-se para qual host a VM será Figura Escolha de novo servidor destino para a VM. A Figura 4.45, mostra a opção para definir se a movimentação entre os servidores será tratada como de alta prioridade, assim garante-se maior rapidez na movimentação. Figura Definição de prioridade par a tarefa. Por fim é exibida uma tela com o resumo das ações a serem executadas. Clique em Finish para iniciar a movimentação e depois de alguns segundos, a VM já

91 90 aparece alocada em outro servidor, conforme Figura Figura VM após movimentação Considerações sobre o vmotion Para a movimentação de volta foi executado um teste simples de comunicação para averiguação da disponibilidade de serviço com a movimentação da máquina virtual em execução. Figura Teste de conexão com o comando ping. Conforme mostrado pela Figura 4.47, uma tela do prompt de comando na máquina virtual e outra na estação de trabalho que está conectada ao vcenter,

92 91 foram abertas para fazer um teste de comunicação através do comando ping 3, entre ambas, durante o procedimento de movimentação. Como pode ser verificado na tela de prompt à esquerda, que representa a estação de trabalho houve perda de somente um pacote durante o procedimento. Já na máquina virtual, não foi registrado perca de pacote, mas sim um tempo maior de resposta do ping. 4.3 SOLUÇÃO DA CITRIX Os passos necessários para a instalação do XenServer, estão descritos no Anexo B deste trabalho. Depois de instalados os servidores, é necessário que seja feita a instalação do aplicativo XenCenter, que é a ferramenta de gerenciamento do XenServer, que pode ser adquirido através do download no site da Citrix. Após sua instalação, ao iniciar o aplicativo, são exibidas conforme a Figura 4.48, algumas opções como adição de servidor, upgrade de versão, visualização de logs e outras. Figura Tela inicial do XenCenter. 3 O comando ping é utilizado em testes de conectividade, onde é possível verificar se um IP de destino responde e quanto tempo demora em responder à solicitação. Em caso de falha na comunicação, é exibida uma mensagem de erro. (TECHNET, 2012)

93 92 A partir desta tela pode-se conectar ao um dos servidores para que seja possível visualizar suas informações e opções de gerenciamento e proceder às configurações iniciais. Pode-se obrservar também um link em que é oferecida uma opção para testar outra solução da Citrix, que é a virtualização de Desktop, mas que não será tratada neste trabalho. Para conectar-se a um dos hosts físicos, deve-se clicar com o botão direito do mouse sobre o item XenCenter do lado esquerdo da janela e no menu que se abre, escolher a opção Add, conforme ilustrado pelas Figuras 4.49 a Figura Adicionando um host físico ao Xencenter. Em seguida é exibida uma tela solicitando o IP do servidor ao qual será feita a conexão, além do nome de usuário, no caso o root, e a senha, conforme Figura Figura Autenticação para conexão ao host. Após a conexão, conforme Figura 4.51, o servidor é exibido na janela do XenCenter. Ao lado direito da janela, podem ser acessadas as suas propriedades.

94 93 Figura XenCenter com servidor alocado. Dentre as propriedades fornecidas nesta janela estão o consumo de memória pelo servidor e suas VMs, dados dos Storages mapeados, configurações de rede, logs de eventos, entre outras. Figura Monitoramento de performance do servidor Pool de Servidores O Pool de servidores, a exemplo do Datacenter do VmWare, é o agrupamento de várias máquinas físicas que executarão as VMs do ambiente. É através dele que será possível a movimentação das máquinas virtuais entre os hosts. Podem ser

95 94 criados vários Pools, para diferentes finalidades, como por exemplo, um grupo de servidores físicos que executarão as máquinas virtuais de um ambiente de testes separado do grupo de produção. Com o Pool, todas as VMs que estejam sendo executadas em um servidor físico passam a ser visualizadas também no outro que faz parte do mesmo grupo, formando assim uma espécie de cluster, no qual o sistema poderá automaticamente fazer a movimentação das máquinas virtuais de um servidor para outro, de acordo com sua carga de processamento. Para a criação do Pool de servidores deve-se clicar na barra de ferramentas, na opção New Pool, conforme Figura Figura Criação do Pool de servidores. Em seguida, Figura 4.54, é exibida uma janela para a entrada do nome do novo Pool e seleção dos servidores que farão parte do mesmo. Figura Seleção dos servidores do Pool. Após a entrada das informações solicitadas, o Pool é criado e os servidores são alocados dentro dele, conforme destaque na Figura 4.55.

96 95 Figura Pool de servidores criado Configuração do Storage Principal O Storage é um dos itens essenciais para as soluções de virtualização profissionais. É ele quem armazenará as máquinas virtuais que serão criadas e executadas pelos hosts físicos. Sem este acesso comum, o processo de movimentação de VMs online não é possível. Conforme citado anteriormente será utilizado um compartilhamento NFS via um servidor com Ubuntu Server, que desempenhará este papel de Storage para efeito deste trabalho. Conforme Figura 4.56, na barra de ferramentas do XenCenter deve-se clicar em New Storage para iniciar o assistente para mapeamento e apresentação do Storage para o Pool criado anteriormente. Figura Inicio da apresentação do Storage NFS. Para o tipo de mapeamento que será feito, deve-se selecionar a primeira opção, que é a que corresponde ao mapeamento de unidade NFS, conforme Figura Em um ambiente onde existe um Storage profissional, geralmente é utilizada

97 96 a opção Hardware HBA, para conexão via fibra óptica. Figura Escolha do tipo de mapeamento a ser feito. Em seguida, figura 4.58, deve-se definir um nome pelo qual o mapeamento será identificado dentro do XenCenter. Figura Definição do nome do mapeamento. Na próxima tela deve ser inserido o caminho de rede e o nome da pasta que está sendo compartilhada. Ao clicar em Scan, será gerado um ID de identificação para o dispositivo que é associado ao Pool de servidores, ilustrado pela Figura Figura Scan do disco para associar ao Pool.

98 Após clicar em Finish, o Storage já pode ser visualizado na tela do XenCenter, alocado no Pool de servidores, conforme Figura Figura Storage apresentado e pronto para uso Storage para as Imagens ISO Neste trabalho também foi utilizado um compartilhamento de arquivos em um computador com sistema operacional Windows para armazenamento das imagens ISOs de instalação. O mapeamento pelo XenCenter foi feito utilizando o protocolo Common Internet File System (CIFS) de compartilhamento de arquivos em rede. Por se tratar de um mapeamento temporário, somente até que os sistemas operacionais fossem instalados, a disponibilização do compartilhamento foi feita pelo desktop comum, utilizado para acesso remoto, conforme desenho do ambiente físico ilustrado anteriormente. Para iniciar o processo, Figura 4.61, o primeiro passo é clicar sobre o Pool e acessar a opção New Storage, na barra de ferramentas. Figura Criação do mapeamento CIFS.

99 98 Na tela para a escolha do tipo de mapeamento que será realizado, deve-se escolher a opção Windows File Sharing (CIFS), mostrado pela Figura Figura Escolha do tipo de compartilhamento. Fonte: Elaborado pelo autor, Conforme Figura 4.63, deve-se definir um nome para o mapeamento do volume. Foi escolhido um nome que identifique facilmente o seu tipo na tela do XenCenter. Figura Definição do nome do mapeamento Fonte: Elaborado pelo autor, Na tela seguinte, Figura 4.64, deve-se informar o caminho do compartilhamento na rede. Caso seja um compartilhamento com restrições de segurança, pode-se informar um nome de usuário que tenha permissão de acesso na pasta compartilhada. Figura Caminho na rede do compartilhamento.

100 Ao clicar em Finish, o mapeamento e seu conteúdo com as ISOs que serão utilizadas já são visualizados dentro do Pool de servidores, conforme Figura Figura Mapeamento completo e seu conteúdo Criação de uma VM As Figuras 4.66 a 4.75 demonstram os passos necessários para a criação de uma máquina virtual com o sistema operacional Windows Server 2008 de 32 bits. O processo segue o mesmo conceito do utilizado no Vmware. Para a criação dos diferentes sistemas operacionais suportados pelo XenServer, o processo é o mesmo, bastando escolher qual sistema será virtualizado. Para iniciar o processo, conforme Figura 4.66, deve-se selecionar o Pool de servidores na qual a VM será alocada. Em seguida, barra de ferramentas, deve-se clicar no ícone New VM, para iniciar a configuração da nova máquina virtual. Figura Início da criação da nova VM. Na tela seguinte, Figura 4.67, deve-se selecionar qual sistema operacional

101 100 será virtualizado, neste caso o Windows Server Figura Escolha do sistema operacional para a nova VM. Em seguida, Figura 4.68, é exibida uma tela para a definição de um nome para a VM e caso necessário, digitar uma descrição para melhor identificação dentro do Pool. Figura Definição do nome da VM e descrição. O próximo passo é definir a fonte de instalação do novo sistema. Deve-se escolher entre o drive de DVD real do host, ou uma das imagens ISOs localizadas no mapeamento CIFS feito anteriormente. Foi escolhida a imagem ISO do Windows Server que se pretende instalar, conforme Figura Figura Escolha da imagem ISO para instalação.

102 101 Na tela seguinte, conforme Figura 4.70, deve-se escolher se o próprio sistema se encarregará de selecionar um host e alocar recursos para a execução da VM, ou definir um servidor manualmente. Foi escolhida a segunda opção. Figura Escolha do servidor que iniciará a VM. Em seguida, ilustrado pela Figura 4.71, deve-se definir o número de processadores que a máquina virtual terá, assim como a quantidade de memória que ficará disponível para sua execução. Figura Configuração do processador e memória. Após, na Figura 4.72, deve-se informar em qual Storage a VM será alocada caso existisse mais de um mapeado. Caso o usuário queira, poderá clicar no botão Properties para acessar as propriedades do novo disco. Figura Escolha do local de armazenamento da VM. Fonte: Elaborado pelo autor, 2012.

103 102 Para alterar as propriedades do disco virtual, como nome e tamanho, depois de clicar em Properties, são mostradas em uma tela as respectivas opções, conforme Figura Figura Opção de alteração das propriedades do disco. O próximo passo, conforme Figuras 4.74 e 4.75, é a seleção da interface de rede da VM, onde é possível editar as interfaces previamente configuradas para, em seguida, visualizar o resumo de opções escolhidas e concluir o processo. Figura Seleção da interface de rede da VM. Figura 4.75 Resumo com as opções escolhidas.

104 103 Depois de instaladas as VMs, conforme citado anteriormente, todos os servidores que compõem o Pool passam a visualizar as mesmas máquinas virtuais, conforme mostram as Figuras 4.76 e Figura Host 1 visualizando VMs alocados no Host 2. Figura Host 2 e o consumo de CPU local XenConvert O XenConvert é a ferramenta gratuita da Citrix para conversão de máquinas

105 104 físicas para virtual (P2V) ou de virtuais para virtual (V2V) do XenServer, que será instalado no sistema a ser convertido. Para o teste desta funcionalidade será feita a importação de uma máquina virtual instalada sob o VirtualBox, que é uma solução de virtualização do tipo 2. A máquina a ser importada está executando o sistema Microsoft Windows Server Após a instalação do Citrix XenConvert e sua inicialização, é exibida a tela inicial para a definição de origem, no caso a própria máquina local, e destino para o qual a VM convertida será alocada, conforme Figura Figura Configurações iniciais de origem e destino. Em seguida, conforme Figura 4.79, devem ser selecionados quais discos da máquina atual serão convertidos para a nova VM. Caso o servidor tenha mais de um disco, mas não utiliza os dois, um deles pode ser descartado na conversão. Também é possível alterar o tamanho do disco para o destino, em caso de haver muito espaço livre sem utilização. Figura Configurações de discos a serem convertidos. Na próxima tela, conforme Figura 4.80, deve-se informar o IP de um dos hosts no qual a nova VM será alocada durante o processo de importação, bem como o

106 nome de super usuário e senha do host. Também deve ser definido um local para os arquivos temporários que serão gerados no processo. 105 Figura Autenticação para o servidor de destino. Seguindo, deve-se definir um nome pelo qual a VM será identificada no XenCenter, que neste caso será mantido o original, e em qual Storage ela será alocada, conforme Figura Figura Definição de nome e local de armazenamento. Fonte: Elaborado pelo autor, Após a exibição das opções selecionadas, o assistente está pronto para iniciar a conversão, conforme Figura Figura Sistema pronto para ser convertido. O processo de conversão pode ser demorado, de acordo com o tamanho do

107 106 disco da máquina de origem e a velocidade de tráfego da rede. Ao término da conversão, a VM já pode ser visualizada no XenCenter. Conforme a Figura 4.83 ao iniciar a nova VM, o sistema operacional da máquina convertida detecta que houve alteração em seu hardware e solicita que seja feita nova ativação de sua licença de uso. Figura Máquina convertida solicitando nova ativação do Windows XenMotion O XenMotion faz a movimentação de uma máquina virtual que esteja em execução sob um servidor para outro, de forma online (LiveMigration), sem que seja necessário seu desligamento. O recurso já vem habilitado por padrão no XenCenter, sem que seja necessária qualquer configuração por parte do usuário. A movimentação entre servidores pode ser realizada de forma automática pelo XenCenter de acordo com o consumo de recursos que host esteja tendo no momento, ou de forma manual. Neste trabalho será demostrada a movimentação manual de uma VM entre os hosts físicos que integram o ambiente.

108 107 Para iniciar a movimentação, conforme mostra a Figura 4.84, deve-se selecionar a máquina virtual que se deseja movimentar e, clicando com o botão direito do mouse sobre a mesma, escolher no menu que se abre a opção Migrate to Server para em seguida selecionar para qual host ela será movida. Figura Escolha do servidor para onde será migrada a VM. O processo é rápido e após alguns segundos, a VM já pode ser visualizada alocada em outro host, conforme mostra a Figura Figura VM após processo de movimentação Considerações sobre o XenMotion

109 108 Conforme ilustra a Figura 4.85, a exemplo do teste com a solução da VMware, uma tela do prompt de comando na máquina virtual e outra na estação de trabalho que está conectada ao XenCenter, representado pela tela da direita, foram abertas para a realização de teste de comunicação através do comando ping 4 durante o processo de movimentação. Como pode ser verificado nas duas telas do prompt de comando, durante a movimentação da VM de um servidor físico para outro percebeu-se a perda de somente um ping por parte de ambas as máquinas. 4 O comando ping é utilizado em testes de conectividade, onde é possível verificar se um IP de destino responde e quanto tempo demora em responder à solicitação. Em caso de falha na comunicação, é exibida uma mensagem de erro. (TECHNET, 2012)

110 109 CONCLUSÃO As funcionalidades de importação de uma máquina para dentro do ambiente virtual criado e de movimentação de VM de um Host para outro, mostradas neste trabalho são muito parecidas nas duas soluções e os testes destas foram satisfatórios. A quantidade de sistemas operacionais pré-definidos para instalação encontradas no VMware é superior em relação ao encontrado no XenServer, principalmente no que se refere à criação de VMs Linux, que oferece um maior número de distribuições suportadas. Já no XenServer além de poucas distribuições encontradas na lista de opções, o sistema operacional Ubuntu Server estava com o suporte em fase de testes, porém esta mesma distribuição pode ser instalada normalmente utilizando o modo genérico, sem maiores problemas. Para a movimentação das máquinas virtuais entre os hosts, o VMware exige mais procedimentos para habilitar o recurso e iniciar o processo, porém oferece opção de migração de Storage também. Enquanto que no XenServer o recurso de movimentação da VM entre os Hosts vem habilitado como padrão, mas não foi mostrada opção de migração de Storage. A movimentação da VM em si, foi executada de forma muito rápida nas duas ferramentas. A importação de uma máquina virtual para o ambiente criado para as duas soluções (V2V) funcionou sem problemas em ambas. A solução da VMware apresentou algumas funcionalidades, como o desenho do mapa de rede do ambiente do Datacenter criado e uma ferramenta para exploração dos discos do servidor físico. No XenServer, não existe um mapa e para a exploração dos discos, foi necessário utilizar a ferramenta de FTP chamada WinSCP. Por outro lado o XenCenter oferece a possibilidade de se acessar diretamente o console do servidor, como se estivesse feito o logon localmente no mesmo. Para o gerenciamento do ambiente, no VMware foi necessário uma máquina com Windows Server 2008 de 64 bits para a instalação do vcenter, No XenServer, foi possível instalar o XenCenter em uma máquina com Windows XP. Para este trabalho, o objetivo inicial era a criação de ambientes para a

111 110 realização de testes de desempenho das soluções descritas, entretanto, não foi possível devido à falta de uma infraestrutura de hardware para suportar todos os ambientes e as aplicações para avaliar o desempenho das soluções. Foi pensado em implementar as soluções em ambientes virtualizados, porém este cenário ficaria aquém de um cenário real, e isso, distorceria a avaliação de desempenho. Devido a isso, optou-se pela implementação dos recursos de criação de VMs, importação de uma máquina em funcionamento e a movimentação de uma VM enquanto a mesma estivesse em produção, sem a necessidade de parada. Dentre as dificuldades encontradas durante o desenvolvimento da monografia pode-se citar o suposto conhecimento prévio do assunto, no qual se percebeu que a virtualização abrangia vários outros aspectos e aplicações, o que gerou certa dúvida no início do levantamento bibliográfico, sobre a forma de abordar o assunto e ao mesmo tempo ter um foco específico para o trabalho. Também a falta de equipamento para atingir todos os objetivos delimitados no início da pesquisa. Pois conforme foi sendo aumentado o conhecimento sobre o assunto, percebeu-se que o ambiente de hardware planejado inicialmente para testes não atenderia o desejado e foi necessário mudar sua instalação para equipamentos emprestados, mas que, porém apresentavam problemas técnicos devido ao seu tempo de uso já avançado. Além da mudança de foco do trabalho devido às limitações de infraestrutura encontradas durante seu desenvolvimento, em que a ideia original de simular um ambiente real com diferentes serviços para testes de desempenho, foi mudada para a apresentação de algumas das funcionalidades das ferramentas, o que levou a busca de maior conhecimento sobre cada uma. O funcionamento adequado das funcionalidades oferecidas pelas soluções da VMware e da Citrix comprova a preocupação atual das empresas com a alta disponibilidade de serviços, o que se torna um diferencial na hora da escolha da solução. Com o auxílio da virtualização, a convergência de novas tecnologias como a Computação em Nuvem, torna-se viável, onde é possível oferecer vários serviços, com menos equipamentos físicos com alta disponibilidade, conforme demonstrado neste trabalho. Conclui-se que em um mercado cada vez mais competitivo, em que se faz necessária a redução de custos, com a diminuição da estrutura física de um Data Center, sem perder a disponibilidade de serviços oferecidos, a virtualização vem de

112 111 encontro a estes anseios. Como trabalhos futuros pode-se citar uma análise comparativa de desempenho entre as duas soluções. Esta análise poderia ser feita através da geração de uma grande massa de solicitações para algum serviço em funcionamento, por exemplo, servidor de páginas ou servidor de banco de dados, para depois avaliar se os serviços conseguiram atender as requisições com um nível aceitável no tempo de resposta. Poderia ser feito também em uma empresa real, a consolidação de servidores físicos para virtual, baseado na análise de desempenho para a escolha da ferramenta que melhor atende tecnicamente e financeiramente. Primeiramente pode-se testar a virtualização no hardware que a empresa já possui, para validar seu funcionamento e em seguida testar em uma nova infraestrutura, pois é grande a variável a oferta atual de equipamentos com alta capacidade de processamento, indo de servidores típicos até Blades, e isso, influencia no valor total do investimento deste tipo de solução.

113 112 ANEXO A Instalação do Hypervisor da VMware Este anexo descreve os passos necessários para a instalação do Hypervisor da VMware. O tempo total gasto em sua instalação desde o boot do cdrom até a tela de conclusão da instalação foi de aproximadamente 11 minutos, contando o tempo gasto na entrada da senha do usuário root que foi a única tela em que se fez necessário a inserção de informação. Os demais dados como IP, Máscara de rede e Gateway, foram realizados depois do sistema instalado. Para a captura das telas, a instalação foi feita em uma máquina virtual, portanto os modelos e tamanhos de discos diferem da configuração mostrada na tabela 4.1. A versão do hypervisor utilizada neste trabalho é do tipo I de virtualização, que, conforme citado, é instalado sozinho como o sistema base dos equipamentos que executarão as máquinas virtuais. A figura A.1 mostra a tela para início da instalação no servidor, onde há a opção de iniciar uma nova instalação, ou efetuar o boot a partir de uma instalação já existente. Esta segunda opção pode ser utilizada se, por algum motivo, o sistema não inicializar sozinho. Foi escolhida a primeira opção. Figura A.1- Tela inicial de boot do CD.

114 A próxima tela é de boas-vindas e informativa sobre o guia de compatibilidade do hypervisor, disponível no site da VMware. 113 Figura A.2 - Telas de boas vindas. Para dar sequência na instalação, é necessário que seja aceito o termo de licença de uso da aplicação, conforme figura A.3. Figura A.3 - Apresentação da licença de uso. Em seguida deve-se selecionar o disco onde o sistema operacional do hypervisor será instalado, conforme figura A.4. Figura A.4 - Seleção do disco para instalação.

115 114 O próximo passo, ilustrado pela figura A.5, é a seleção do layout do teclado. Foi escolhida a opção padrão pré-selecionada, US Default. Figura A.5 - Seleção do layout do teclado. A figura A.6 mostra a tela para definição da senha de super usuário. Sugerese uma senha que contenha caracteres maiúsculos e minúsculos misturados com números. Figura A.6 - Escolha da senha de root. A figura A.7 exibe a tela com as opções de disco selecionadas para confirmação, para o início do processo de a instalação. Figura A.7 - Confirmação para o início da instalação. O andamento da instalação é mostrado pela figura A.8. Este processo

116 115 conforme citado anteriormente demorou aproximadamente 11 minutos. Figura A.8 - Instalação em andamento. A figura A.9 apresenta o término da instalação do hypervisor da VmWare. Figura A.9 - Término da instalação. Após o reinício do computador, é apresentado na figura A.10 o servidor pronto para ser utilizado. Figura A.10 - Servidor inicializado com sucesso.

117 116 ANEXO B - Instalação do Hypervisor da Citrix Este anexo descreve os passos necessários para a instalação do Hypervisor da Citrix, o XenServer. A exemplo do ANEXO A, para a captura das telas, a instalação foi feita em uma máquina virtual, portanto os modelos e tamanhos de discos diferem da configuração mostrada na tabela 4.1. O tempo total gasto em sua instalação desde o boot do cdrom até a tela de conclusão da instalação foi de aproximadamente 11 minutos para cada servidor, contando o tempo gasto na entrada das informações como endereço IP, Máscara de Rede, Gateway, Servidores DNS e NTP, além da senha do usuário root. A versão do XenServer utilizada neste trabalho é do tipo I de virtualização, que, conforme citado, é instalado sozinho como o sistema base dos equipamentos que executarão as máquinas virtuais. A figura B.1 mostra a tela para início da instalação do XenServer em que deve-se escolher entre a opção padrão de instalação, ou utilizando a tecla F2, acessar opções avançadas de instalação. Para este trabalho, será utilizada a opção padrão através da tecla F1 ou simplesmente dando Enter no teclado. Figura B.1 - Tela inicial de boot do CD. Fonte: Elaborada pelo Autor, Na tela seguinte, figura B.2, deve-se escolher o layout do teclado que se vai utilizar. Foi escolhido layout padrão oferecido.

118 117 Figura B.2 - Configuração do teclado. Fonte: Elaborada pelo Autor, Em seguida, é mostrada uma tela para a confirmada ou não do início do processo de instalação. Figura B.3 - Confirmação para iniciar a instalação. Fonte: Elaborada pelo Autor, Uma tela com os termos da licença de uso a mostrada em seguida. Conforme figura B.4, basta pressionar ENTER. Figura B.4 - Apresentação da licença de uso. Fonte: Elaborada pelo Autor, Na tela seguinte, figura B.5, deve-se selecionar qual disco será utilizado para

119 118 a instalação do sistema. Figura B.5 - Escolha dos discos para instalação. Fonte: elaborada pelo autor, instalação. Em seguida, figura B.6, deve ser informada a origem dos arquivos para a Figura B.6 - Origem dos arquivos de instalação. Na tela seguinte, figura B.7, é questionado se será utilizado algum pacote suplementar para a instalação. Foi escolhida a opção NO. Figura B.7 - Instalação de pacotes adicionais. A próxima tela, figura B.8, é a opção de se realizar uma verificação da integridade da mídia de instalação, caso a mesma apresente problemas.

120 119 Figura B.8 - Opção de verificação da mídia de instalação. O próximo passo é definir a senha do usuário root, conforme figura B.9. Figura B.9 - Escolha da senha do administrador (root). Na próxima tela devem ser definidos o nome do servidor, e os servidores DNS, conforme figura B.10. Figura B.10 - Definição do nome e servidores DNS. Em seguida, figura B.11, deve ser selecionada a localização geográfica para a instalação do sistema.

121 120 Figura B.11 - Seleção da localização geográfica. Em seguida, deve ser informada a cidade ou região que será utilizada como padrão para o fuso horário, conforme figura B.12. Figura B.12 - Seleção do fuso horário. Caso exista na rede, poderá ser utilizado um servidor NTP para a atualização do horário, conforme figura B.13. Figura B.13 - Escolha da forma de sincronismo de horário. Se for optado por utilizar um servidor NTP, ele deverá ser configurado na tela seguinte conforme figura B.14. Foi escolhida a opção fornecida por DHCP.

122 121 Figura B.14 - Configuração do servidor NTP. Após todas as informações necessárias terem sido inseridas, é apresentado a tela para o início da instalação do hypervisor, conforme figura B.15. Figura B.15 - Início da instalação dos arquivos. Após o término da instalação, uma tela solicitando o reboot do servidor é exibida conforme figura B.16. Figura B.16 - Conclusão da instalação. Após a reinicialização do servidor, já é possível acessar o console do XenServer localmente, e visualizar suas informações de configuração e se

123 122 necessário, alterá-las Figura B.17 - Console após a conclusão da instalação.

A história dos sistemas operacionais

A história dos sistemas operacionais A história dos sistemas operacionais Atualmente, os sistemas operacionais (SO) estão cada vez mais fáceis de usar, possuindo interfaces muito simples e bonitas. Contudo, todas estas funcionalidades não

Leia mais

A História dos computadores e da computação Por Gabriel Gugik Fonte: www.tecmundo.com.br/1697-a-historia-dos-computadores-e-da-computacao.

A História dos computadores e da computação Por Gabriel Gugik Fonte: www.tecmundo.com.br/1697-a-historia-dos-computadores-e-da-computacao. Imprimir A História dos computadores e da computação Por Gabriel Gugik Fonte: www.tecmundo.com.br/1697-a-historia-dos-computadores-e-da-computacao.htm Sexta-Feira 6 de Março de 2009 Conheça os principais

Leia mais

Apostila: a história dos computadores e da computação

Apostila: a história dos computadores e da computação Apostila: a história dos computadores e da computação Autor: Gabriel Gugik Conheça os principais computadores usados desde a antiguidade até os dias de hoje. Obs.: O conteúdo aqui disponível foi publicado

Leia mais

Introdução à Computação

Introdução à Computação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Introdução à Computação DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Informática x Computação

Leia mais

A História dos Computadores e da Computação

A História dos Computadores e da Computação A História dos Computadores e da Computação Hoje em dia, os computadores estão presentes em nossa vida de uma forma nunca vista anteriormente. Sejam em casa, na escola, na faculdade, na empresa ou em qualquer

Leia mais

Fundamentos da Informática. História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br

Fundamentos da Informática. História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br Fundamentos da Informática História dos Computadores Prof. Hélder Almeida www.helderalmeida.com.br História da Computação Hoje em dia, os computadores estão presentes em nossa vida de uma forma nunca vista

Leia mais

TI - Tecnologia da Informação UNIDADE 1:Fundamentos Básicos de Informática

TI - Tecnologia da Informação UNIDADE 1:Fundamentos Básicos de Informática TI - Tecnologia da Informação UNIDADE 1:Fundamentos Básicos de Informática Prof. Adolfo Colares A origem da computação está diretamente relacionada a matemática. Por volta de 5500 anos A.C, povos antigos

Leia mais

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº

Turno/Horário Noturno PROFESSOR : Salomão Dantas Soares AULA Apostila nº UNIDADE 1:Fundamentos Básicos de Informática A HISTÓRIA DO COMPUTADOR A origem da computação está diretamente relacionada a matemática. Por volta de 5500 anos A.C, povos antigos que constituíam a Mesopotâmia

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

Calculadoras Mecânicas

Calculadoras Mecânicas ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Evolução e Desempenho de Computadores 1ª Calculadora - séc. V a.c Muitos povos da antiguidade utilizavam o ábaco para a realização de cálculos do dia a dia, principalmente

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

Informática Aplicada Revisão para a Avaliação

Informática Aplicada Revisão para a Avaliação Informática Aplicada Revisão para a Avaliação 1) Sobre o sistema operacional Windows 7, marque verdadeira ou falsa para cada afirmação: a) Por meio do recurso Windows Update é possível manter o sistema

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

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015

Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres. Fundamentos de Sistemas Operacionais UNIP/2015 Prof. Antonio Torres antonioctorres@gmail.com @_antonioctorres Fundamentos de Sistemas Operacionais UNIP/2015 Disciplinas FUNDAMENTOS DE SISTEMAS OPERACIONAIS Horários Quarta-feira Fundamentos de Sistemas

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Hardware Sistema de Entrada/Saída Visão Geral Princípios de Hardware Dispositivos de E/S Estrutura Típica do Barramento de um PC Interrupções

Leia mais

A história da computação. Prof: Diego Medeiros

A história da computação. Prof: Diego Medeiros A história da computação Prof: Diego Medeiros O que é a computação? Computação (latim computatio, -onis) 1. Ato ou efeito de computar. Cálculo, cômputo 2. Conjunto de conhecimentos e técnicas referentes

Leia mais

Histórico dos Computadores

Histórico dos Computadores Histórico dos Computadores O mais antigo equipamento para cálculo foi o ábaco (Fig. 1), que era um quadro com arruelas móveis, dispostas em arames paralelos, tendo, portanto, um mecanismo simples. Surgido

Leia mais

História dos SOs. Tópicos

História dos SOs. Tópicos História dos SOs Cap. 1 - Tanenbaum Prof. Alexandre Beletti Ferreira 1ª Geração 2ª Geração 3ª Geração 4ª Geração Tópicos 1 1ª Geração 1ª Geração: 1945 a 1955 Computadores: em meados da década de 40 Máquinas

Leia mais

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores Este artigo demonstra como configurar uma rede virtual para ser usada em testes e estudos. Será usado o VirtualBox

Leia mais

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto

Sistemas Operacionais. (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO. Professor: Rosalvo Ferreira de Oliveira Neto Sistemas Operacionais (Capítulo 3) INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Classificações 3. CPU 4. Memória 5. Utilitários O que se

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

ARQUITETURA DE COMPUTADORES - 1866

ARQUITETURA DE COMPUTADORES - 1866 1 Introdução: Um computador é uma máquina (conjunto de partes eletrônicas e eletromecânicas) capaz de sistematicamente coletar, manipular e fornecer resultados da manipulação de dados para um ou mais objetivos.

Leia mais

01/04/2012. Voltar. Voltar

01/04/2012. Voltar. Voltar Introdução à Informática Capítulo 3 Sistemas Operacionais: Software em Segundo Plano Objetivos Descrever as funções de um sistema operacional. Explicar os fundamentos do sistema operacional de um computador.

Leia mais

Um computador é um dispositivo capaz de executar cálculos e tomar decisões lógicas milhões de vezes mais rápidas do que podem os seres humanos.

Um computador é um dispositivo capaz de executar cálculos e tomar decisões lógicas milhões de vezes mais rápidas do que podem os seres humanos. Do ábaco ao palmtop. Um computador é um dispositivo capaz de executar cálculos e tomar decisões lógicas milhões de vezes mais rápidas do que podem os seres humanos. O ábaco é um instrumento mecânico usado

Leia mais

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V

GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V GUIA DE INSTALAÇÃO NETDEEP SECURE COM HYPER-V 1- Visão Geral Neste manual você aprenderá a instalar e fazer a configuração inicial do seu firewall Netdeep

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

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com)

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software; Sistemas Operacionais: Evolução; Conceitos Básicos; Tipos; Exemplos. DEINFO/UFRPE

Leia mais

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com)

Noções de Software. André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) Noções de Software André Aziz (andreaziz.ufrpe@gmail.com) Francielle Santos (francielle.ufrpe@gmail.com) 1 Noções de Software; Sistemas Operacionais: Evolução; Conceitos Básicos; Tipos; Exemplos. DEINFO/UFRPE

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

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

O Computador. Conceito

O Computador. Conceito O Computador Conceito É uma máquina eletrônica de processamentos de dados programável, com grande capacidade de armazenamento de dados associado a altíssimas velocidades de processamento. Contudo, esta

Leia mais

Histórico dos Sistemas Operacionais

Histórico dos Sistemas Operacionais Andrique Amorim www.andrix.com.br professor@andrix.com.br Histórico dos Sistemas Operacionais Que computador você vai comprar? Vou comprar Windows! Voltando na história dos primeiros computadores... Os

Leia mais

SOP Sistemas Operacionais Módulo 03: História e Evolução

SOP Sistemas Operacionais Módulo 03: História e Evolução SOP Sistemas Operacionais Módulo 03: História e Evolução Prof. Charles Christian Miers e mail: charles.miers@udesc.br História dos Computadores / SOs Primeira Geração (1945 1955): válvula Sem SO, programação

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Aula 04: Sistema Operacional Material Didático do Livro: Introdução à Informática Capron,, H. L. e Johnson, J. A Pearson Education Sistemas Operacionais: Software Oculto Serve

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

MOTAGEM E MANUTENÇÃO Hardware. Professor: Renato B. dos Santos

MOTAGEM E MANUTENÇÃO Hardware. Professor: Renato B. dos Santos MOTAGEM E MANUTENÇÃO Hardware Professor: Renato B. dos Santos 1 O computador é composto, basicamente, por duas partes:» Hardware» Parte física do computador» Elementos concretos» Ex.: memória, teclado,

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

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

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

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 01: Conceitos Iniciais / Sistema Operacional O conteúdo deste documento tem por objetivo apresentar uma visão geral

Leia mais

INTRODUÇÃO À COMPUTAÇÃO

INTRODUÇÃO À COMPUTAÇÃO INTRODUÇÃO À COMPUTAÇÃO Heleno Pontes Bezerra Neto (helenopontes@lccv.ufal.br) 1. Introdução 1.1. Motivação 1.2 Histórico e Desenvolvimento dos Computadores 1.3. Organização dos Computadores 1. INTRODUÇÃO

Leia mais

Introdução a Computação

Introdução a Computação Sistemas Operacionais: Software Oculto Introdução a Computação Sistemas Operacionais Serve como um intermediário entre o hardware e os softwares aplicativos. Sistema Operacional Software de sistemas Kernel

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

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

Disciplina de Informática. Profª. Me. Valéria Espíndola Lessa lessavaleria@gmail.com Valeria-lessa@uergs.edu.br

Disciplina de Informática. Profª. Me. Valéria Espíndola Lessa lessavaleria@gmail.com Valeria-lessa@uergs.edu.br Disciplina de Informática Profª. Me. Valéria Espíndola Lessa lessavaleria@gmail.com Valeria-lessa@uergs.edu.br 1 O que é Informática? Informática A Informática nasceu da ideia de auxiliar o homem nos trabalhos

Leia mais

INFORMÁTICA INFORMÁTICA BÁSICA

INFORMÁTICA INFORMÁTICA BÁSICA INFORMÁTICA BÁSICA PROF. MARCOS VINICIUS GRADUADO EM ANÁLISES DE SISTEMAS. PÓS-GRADUADO EM ADMINISTRAÇÃO E SEGURANÇA DE SISTEMAS COMPUTACIONAIS FACULDADE ESTÁCIO DE SÁ. ANALISTA DE SISTEMAS E DBA SQL SERVER

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

Para continuar, baixe o linux-vm aqui: http://www.gdhpress.com.br/downloads/linux-vm.zip

Para continuar, baixe o linux-vm aqui: http://www.gdhpress.com.br/downloads/linux-vm.zip Se, assim como a maioria, você possui um único PC ou notebook, uma opção para testar as distribuições Linux sem precisar mexer no particionamento do HD e instalar o sistema em dualboot, é simplesmente

Leia mais

Núcleo de Pós Graduação Pitágoras. A Tecnologia da Informação no contexto Organizacional. Tecnologia. Tecnologia. Tecnologia 29/07/2009

Núcleo de Pós Graduação Pitágoras. A Tecnologia da Informação no contexto Organizacional. Tecnologia. Tecnologia. Tecnologia 29/07/2009 Núcleo de Pós Graduação Pitágoras A Tecnologia da Informação no contexto Organizacional MBA Gestão em TI Disciplina: Administração de Suporte e Automação Professor: Fernando Zaidan Agosto - 2009 Tecnologia

Leia mais

A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação.

A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação. A primeira geração dos computadores ocorreu de 1945 a 1955 e tinha como principal característica o uso de válvulas e painéis de programação. Eram enormes e ocupavam salas inteiras com dezenas de milhares

Leia mais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais

Sistemas Operacionais e Introdução à Programação. Módulo 1 Sistemas Operacionais Sistemas Operacionais e Introdução à Programação Módulo 1 Sistemas Operacionais 1 Sistema computacional Sistemas feitos para resolver problemas Problema: como obter determinado resultado, com base em dados

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

INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR

INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR INFORMÁTICA HISTÓRIA DA INFORMÁTICA 1º PD PROFESSOR Nelson Fabbri Gerbelli O que é informática? INFORMAÇÃO TECNOLOGIA INFORMÁTICA INFORmação automática 2 ÁBACO Na China, 3000 anos antes de Cristo, surgiu

Leia mais

Sistemas Operacionais

Sistemas Operacionais O que é um sistema operacional? Sistema operacional (do inglês OS - operating system) é um programa ou conjunto de programas, que tem a função de gerencias o sistema. O sistema é o todo o hardware (computador),

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

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

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

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

A Evolução dos Sistemas Operacionais

A Evolução dos Sistemas Operacionais Capítulo 3 A Evolução dos Sistemas Operacionais Neste capítulo, continuaremos a tratar dos conceitos básicos com a intensão de construirmos, agora em um nível mais elevado de abstração, o entendimento

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

Informática. Jamille Silva Madureira

Informática. Jamille Silva Madureira Informática Jamille Silva Madureira Conceitos de sistemas operacionais Sistemas Operacionais Atuais Desktop: Windows 7 e 8; Linux; Mac OS. Dispositivos Móveis: Windows Mobile; Android; iphone OS. Desktop

Leia mais

Informática, Internet e Multimídia. Profa. Késsia R. C. Marchi

Informática, Internet e Multimídia. Profa. Késsia R. C. Marchi Informática, Internet e Multimídia Profa. Késsia R. C. Marchi Informática - Origem Para auxiliar a contar, nossos antepassados usavam pedras... Cálculo deriva do latim calculus (pedra) Information Automatique

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS Universidade do Contestado Campus Concórdia Curso de Engenharia Ambiental Prof.: Maico Petry SISTEMAS OPERACIONAIS DISCIPLINA: Informática Aplicada DEFINIÇÃO É um programa de controle do computador. O

Leia mais

Sistema Operacional. História Sistema Operacional 1. QI Escolas e Faculdades Apostila de Linux

Sistema Operacional. História Sistema Operacional 1. QI Escolas e Faculdades Apostila de Linux 4 Capítulo 1 Sistema Operacional É uma coleção de programas que inicializa hardwares, fornece rotinas básicas para controle de dispositivos, mantém a integridade de um sistema. Um sistema operacional de

Leia mais

Evolução histórica dos computadores

Evolução histórica dos computadores Evolução histórica dos computadores Descrever a organização funcional de um computador. Identificar as principais formas de utilização e aplicação de computadores. Nesta primeira aula, abordaremos os conceitos

Leia mais

Fundamentos da Informática

Fundamentos da Informática 1 PROCESSAMENTO DE DADOS I - FUNDAMENTOS A) CONCEITO DE INFORMÁTICA - é a ciência que estuda o tratamento automático e racional da informação. B) PROCESSAMENTO DE DADOS 1) Conceito Processamento de dados

Leia mais

Informática Básica. Prof. Dr. Charlie Antoni Miquelin

Informática Básica. Prof. Dr. Charlie Antoni Miquelin Informática Básica Prof. Dr. Charlie Antoni Miquelin A Evolução da Informática Prof. Dr. Charlie Antoni Miquelin A informática 1962, na França. info = informação matique = automática informatique = informação

Leia mais

Symantec Backup Exec 12.5 for Windows Servers. Guia de Instalação Rápida

Symantec Backup Exec 12.5 for Windows Servers. Guia de Instalação Rápida Symantec Backup Exec 12.5 for Windows Servers Guia de Instalação Rápida 13897290 Instalação do Backup Exec Este documento contém os seguintes tópicos: Requisitos do sistema Antes de instalar Sobre a conta

Leia mais

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof.

Introdução à Informática. Aula 04. Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados. Prof. Aula 04 Sistemas Operacionais Aplicativos e Utilitários Transmissão e meios de transmissão de dados Sistema Operacional Um conjunto de programas que se situa entre os softwares aplicativos e o hardware:

Leia mais

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES. Prof. André Dutton ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES Prof. André Dutton EMENTA: Conceitos fundamentais e histórico da ciência da computação; Histórico dos computadores, evolução e tendências; Modalidades de computadores

Leia mais

CONCEITOS DE SISTEMAS OPERACIONAIS

CONCEITOS DE SISTEMAS OPERACIONAIS 1 - Objetivos Existe uma grande distância entre os circuitos eletrônicos e dispositivos de hardware e os programas aplicativos em software. Os circuitos são complexos, acessados através de interfaces de

Leia mais

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais

Professor: Roberto Franciscatto. Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais Professor: Roberto Franciscatto Curso: Engenharia de Alimentos 01/2010 Aula 3 Sistemas Operacionais Um conjunto de programas que se situa entre os softwares aplicativos e o hardware: Gerencia os recursos

Leia mais

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais

Cursos de Computação. Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 01 - História e Funções dos Sistemas Operacionais Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 01 - História e Funções dos Sistemas Operacionais Visão do Sistema Operacional programadores e analistas usuários programas,

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 01 - Introdução Edirlei Soares de Lima O que é um sistema operacional? Um computador moderno consiste em: Um ou mais processadores; Memória principal;

Leia mais

Processadores. Prof. Alexandre Beletti Ferreira

Processadores. Prof. Alexandre Beletti Ferreira Processadores Prof. Alexandre Beletti Ferreira Introdução O processador é um circuito integrado de controle das funções de cálculos e tomadas de decisão de um computador. Também é chamado de cérebro do

Leia mais

Tecnologia da Informação e Comunicação

Tecnologia da Informação e Comunicação Tecnologia da Informação e Comunicação Parte 1 Conceitos básicos e História Prof. Marcos Monteiro Conceitos básicos Computador é... Conceitos básicos Computador é... Maquina que processa dados? Que tem:

Leia mais

Processamento de Dados. A Evolução dos Computadores

Processamento de Dados. A Evolução dos Computadores Processamento de Dados Antigamente, alguns povos utilizavam pedras, conchas e ábacos para a realização de cálculos. Procurando agilizar a elaboração de cálculos, diversos dispositivos foram inventados...

Leia mais

Hardware e Software. Exemplos de software:

Hardware e Software. Exemplos de software: Hardware e Software O hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Em complemento ao

Leia mais

Introdução a Informática

Introdução a Informática Inclusão Projeto Digital do Jovem Agricultor Introdução a Informática Projeto 1/18 Inclusão Projeto Digital do Jovem Agricultor Conteúdo Programático Introdução; História do computador; Hardware, Software

Leia mais

Fundamentos de Informática 1ºSemestre

Fundamentos de Informática 1ºSemestre Fundamentos de Informática 1ºSemestre Aula 1 Prof. Nataniel Vieira nataniel.vieira@gmail.com SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Uma abordagem inicial... o

Leia mais

- Aula 2 ESTÁGIOS DA EVOLUÇÃO DA ARQUITETURA DOS COMPUTADORES

- Aula 2 ESTÁGIOS DA EVOLUÇÃO DA ARQUITETURA DOS COMPUTADORES - Aula 2 ESTÁGIOS DA EVOLUÇÃO DA ARQUITETURA DOS COMPUTADORES 1. INTRODUÇÃO Centenas de tipos diferentes de computadores foram projetados e construídos ao longo do ciclo evolutivo dos computadores digitais.

Leia mais

Executando o Modo Windows XP com Windows Virtual PC

Executando o Modo Windows XP com Windows Virtual PC Executando o Modo Windows XP com Windows Virtual PC Um guia para pequenas empresas Conteúdo Seção 1: Introdução ao Modo Windows XP para Windows 7 2 Seção 2: Introdução ao Modo Windows XP 4 Seção 3: Usando

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

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 03

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 03 INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 03 fevereiro/2011 Surgimento, desenvolvimento e evolução dos sistemas operacionais até os sistemas modernos. 1 - Introdução A evolução dos sistemas operacionais

Leia mais

ADMINISTRAÇÃODEREDES BASEADASEM WINDOWS. IsmaelSouzaAraujo

ADMINISTRAÇÃODEREDES BASEADASEM WINDOWS. IsmaelSouzaAraujo ADMINISTRAÇÃODEREDES BASEADASEM WINDOWS IsmaelSouzaAraujo INFORMAÇÃOECOMUNICAÇÃO Autor Ismael Souza Araujo Pós-graduado em Gerência de Projetos PMBOK UNICESP, graduado em Tecnologia em Segurança da Informação

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 7 Entrada/saída Os textos nestas caixas foram adicionados pelo Prof. Joubert slide 1 Problemas de entrada/saída Grande variedade

Leia mais

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo ("pipeline") Execução de programas

Unidade Central de Processamento Organização da UCP Execução de instruções em paralelo (pipeline) Execução de programas http://www.ic.uff.br/~debora/fac! Dar noções iniciais dos componentes básicos de um sistema de computador, assim também como conceitos fundamentais necessários para a manipulação de informação dentro do

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

- 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

Soluções de Gerenciamento de Clientes e de Impressão Universal

Soluções de Gerenciamento de Clientes e de Impressão Universal Soluções de Gerenciamento de Clientes e de Impressão Universal Guia do Usuário Copyright 2007 Hewlett-Packard Development Company, L.P. Windows é uma marca registrada nos Estados Unidos da Microsoft Corporation.

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

Fundamentos e Suporte de Computadores. Professora Monalize

Fundamentos e Suporte de Computadores. Professora Monalize Fundamentos e Suporte de Computadores Professora Monalize COMPUTADOR DIGITAL é um equipamento eletrônico que processa dados usando programas, podendo ser dividido em: HARDWARE : parte "física, é o equipamento

Leia mais

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Conceitos Básicos de Sistema PROFESSORA CINTIA CAETANO Introdução A informática é uma área que atualmente vem evoluindo muito rapidamente. A cada dia se torna mais importante

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede.

Aula 2. Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Aula 2 Objetivo: Saber qual a funcionalidade de um sistema operacional de rede. Sistema Operacional de Rede Definição: Conjunto de módulos que ampliam as tarefas dos sistemas operacionais locais, complementando-os

Leia mais

1. Histórico e Evolução dos Computadores

1. Histórico e Evolução dos Computadores Faculdade UNIREAL Centro Educacional de Ensino Superior de Brasília 1. Histórico e Evolução dos Computadores A evolução da Informática O computador que conhecemos hoje é uma máquina programável que processa

Leia mais