Expansão do portfólio de virtualização do OurGrid. Carla de Araujo Souza Isaac Leal da Cunha Lima Tiago Oliveira de Albuquerque

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

Download "Expansão do portfólio de virtualização do OurGrid. Carla de Araujo Souza Isaac Leal da Cunha Lima Tiago Oliveira de Albuquerque"

Transcrição

1 Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Graduação em Ciência de Computação Expansão do portfólio de virtualização do OurGrid Carla de Araujo Souza Isaac Leal da Cunha Lima Tiago Oliveira de Albuquerque Monografia submetida à Coordenação do curso de Ciência da Computação da Universidade Federal de Campina Grande - Campus I como resultado das disciplinas Projeto em Computação I e II. ÁREA DE CONCENTRAÇÃO: CIÊNCIA DA COMPUTAÇÃO LINHA DE PESQUISA: GRADES COMPUTACIONAIS E VIRTUALIZAÇÃO RODRIGO DE ALMEIDA VILAR DE MIRANDA (CLIENTE) Campina Grande, Paraíba, Brasil

2

3 Lista de Tabelas 2.1. Cronograma i

4 Lista de Figuras 3.1. Arquitetura do Worker após o refatoramento Arquitetura do Qemu Emulação no modo de usuário Diagrama de classes da implementação do executor KVM ii

5 Sumário 1 Introdução Contexto Pessoas envolvidas Objetivos Processo de Desenvolvimento Papeis User Stories User Story User Story User Story Cronograma Worker Refatoramento Resultados Pacotes criados Classes movidas e renomeadas Pacotes destruidos Classes destruídas Classes modificadas Problemas Arquitetura Virtualização Utilização de virtualização em Grids Computacionais Tecnologias de Virtualização Kernel-based Virtual Machine Emulador Qemu VirtualBox Implementação KVM iii

6 5.1.1 Executor KVM Workflow de execução Instalação da Tecnologia KVM Criação de VMs KVM Biblioteca libvirt VirtualBox Instalação do VirtualBox 3.0 no Windows Criação da VM VirtualBox Deployment KVM Script install_kvm.sh Script worker_deploy.sh VirtualBox Referencias Bibliográficas A Ambientes de Experimentação... I A.1. KVM... I A.1.1 Versão do KVM utilizada... I A.1.2 Configuração da máquina Hospedeira... I A.1.3 Configuração da máquina virtual... I A.2. Virtual Box... II B Scripts III B.1 Inicialização da alocação... III B.2 Obtenção dos arquivos gerados... III B.3 Abortar execução da máquina virtual... IV B.4 Criação da partição de storage e playpen da máquina virtual... IV B.5 Inicialização da máquina virtual e execução do job... V B.6 Estado da execução V B.7 Parar a execução da máquina virtual V B.8 Finalização da configuração do dispositivo da máquina virtual... VI C Arquivo de configuração do Worker para virtualização KVM... VI D Pacotes instalados na maáuina virtual IX iv

7 Capítulo 1 Introdução 1.1 Contexto Segurança é um aspecto importante na computação em grade, pois é preciso proteger os recursos, os usuários e o próprio middleware da grade. Nas grades entre pares e de livre entrada, as questões de segurança se tornam mais complexas, devido à ausência de identidades fortes no sistema. Na realidade, não existe uma solução única que satisfaça os requisitos de todos os usuários deste tipo de grade. Diante desta dificuldade, no OurGrid foi implementado um portfólio de soluções de segurança com o objetivo de atender diferentes classes de usuários. Dentre as soluções incluídas neste portfólio se destaca a virtualização. Mesmo sendo uma solução comprovadamente eficaz, alguns problemas impedem sua adoção de maneira mais ampla pelos usuários da grade. Por exemplo, a sobrecarga imposta pelo middleware de virtualização aumenta o tempo de execução das tarefas. Isto implica aos usuários da grade a escolha entre proteger seus recursos ou utilizá-lo de maneira mais eficiente. Adicionalmente aos aspectos de segurança, técnicas de virtualização são bastante úteis para incrementar o grau de utilização dos recursos compartilhados. É possível construir máquinas virtuais que atendam às necessidades específicas de cada usuário, deste modo um mesmo recurso pode ter seus serviços modificados (de maneira barata) ao longo do tempo para atender a diferentes necessidades. Esse documento reflete a implementação de 2 (duas) técnicas de virtualização que provêm essa segurança, e está organizado da seguinte forma: no capítulo 2, descreve-se o processo de desenvolvimento que seguimos para implementação da integração dessas técnicas de virtualização pelo componente Worker do OurGrid; no capítulo 3, são descritos os resultados do refatoramento do código já existente do componente Worker, bem como a sua nova arquitetura; 1

8 no capítulo 4 descrevemos as tecnologias de virtualização Virtual Box e Kernel-Based Virtualization Linux (KVM). A implementação do suporte à essas novas formas de virtualização está detalhada no capítulo 5 e a realização do deployment do software está relatado no capítulo 6. Foram disponibilizados anexos para complementação da leitura. O anexo A possui os detalhes do ambiente de experimentação utilizado. O Anexo B consiste em todos os scripts contruídos que são utilizados pela implementação para virtualização com a tecnologia KVM. O arquivo de configuração do componente Worker é encontrado no anexo C. O anexo D possui uma lista de todos os pacotes instalados na máquina virtual; sua leitura é recomendada para aqueles que gostariam de saber quais aplicativos estão disponíveis. 1.2 Pessoas Envolvidas Nesse projeto, além dos alunos de graduação matriculados na disciplina Projeto II pelo Departamento de Sistemas e Computação, obtivemos a colaboração de desenvolvedores da grid computacional OurGrid, que são mestrandos e alunos estagiários do Laboratório de Sistemas Distribuídos, localizado no campuns da Universidade Federal de Campina Grande. 1.3 Objetivos Avaliar e utilizar outras tecnologias de virtualização no OurGrid que sejam eficazes na proteção dos recursos -- máquinas compartilhadas na grade -- e eficientes -- não impliquem em uma sobrecarga expressiva no poder de processamento dos recursos compartilhados. Projetar e implementar a virtualização do Worker utilizando as tecnologias escolhidas a partir do estudo anterior, pois atualmente apenas as tecnologias VMWare Server e VServer são oferecidas, o que limita o seu uso. A disponibilização de mais tecnologias, as restrições de uso do OurGrid diminuem, ampliando o público capaz de executar seus jobs. 2

9 Capítulo 2 Processo de Desenvolvimento O processo de desenvolvimento utilizado na implementação foi o Extreme Programming (XP). XP é uma metodologia de desenvolvimento de software, nascida nos Estados Unidos no final da década de 90. Vem fazendo sucesso em diversos países, por ajudar a criar sistemas de melhor qualidade, que são produzidos em menos tempo e de forma mais econômica que o habitual. Tais vantagens são alcançados através de um pequeno conjunto de valores e práticas, que diferem da forma tradicional de se desenvolver software [1]. 2.1 Papéis O cliente do projeto foi o mestrando Rodrigo de Almeida Vilar de Miranda. Os papéis de desenvolvedores, bem como o gerente, foi desempenhado pelos alunos de graduação Carla de Araujo Souza, Isaac Leal da Cunha Lima e Tiago Oliveira de Albuquerque. 2.2 User Stories User Story 1 Atividade 1.1: Estudar o codigo do Worker; Atividade 1.2: Estudar as mudanças feitar no Broker; Atividade 1.3: Identificar áreas que sofrerão mudanças no Worker; 3

10 Atividade 1.4: Separar o Worker em três camadas; Atividade 1.5: Validar a implementação User Story 2 Atividade 2.1: Estudar a API de virtualização KVM e ambiente KVM. Atividade 2.2: Implementação do executor KVM User Story 3 Atividade 3.2: Estudar solução para utilização do VirtualBox; Atividade 3.1: Estudar o código implementado previamente por Flavio; Atividade 3.1: Implementação do executor VirtualBox. 2.3 Cronograma 4

11 Maio Maio Junho junho Julho Julho Setembro Setembro Outubro Outubro Novembr o 12~18 19~01 02~15 16~01 02~15 16~31 01~15 16~30 01~16 16~31 01~20 US 1.1 US 1.2 US 1.3 US 1.4 US 1.5 US 2.1 US 2.2 US 3.1 US 3.2 US 3.3 Tabela 2.1. Cronograma 5

12 6

13 Capítulo 3 Worker Neste capítulo será detalhada a arquitetura antiga e descreverá os motivos para o refatoramento. O refatoramento do código do componente Worker foi necessário para a implementação das funcionalidades adicionais requisitadas. 3.1 Refatoramento Algumas classes que estavam como controladoras, porém possuiam código de lógica foram alteradas, fazendo uma divisão do código em três camadas: DAO, Receiver -- que se comunica com os outros componentes do OurGrid -- e a camada de Lógica. Classes de mensagens e exceções que estavam espalhadas pelo código do Worker, agora estão organizadas em diretórios dentro do Worker. 3.2 Resultados Pacotes criados 1. org.ourgrid.worker.controller.exceptions; 2. org.ourgrid.worker.controller.messages. 7

14 Pacote org.ourgrid.worker.controller.exceptions VOMSAuthorizationException; UnableToCreateStorageException; UnableToCreatePlaypenException. Pacote org.ourgrid.worker.controller.messages FileTransferControllerMessages; WorkerManagementControllerMessages; WorkerManagementClientFailureControllerMessages; WorkerControllerMessages; RemoteWorkerManagementControllerMessages; ExecutionControllerMessages; EnvironmentControllerMessages; ControlMessages Classes movidas De org.ourgrid.worker.receiver.remoteworkermanagementreceiver para org.ourgrid.worker.remoteworkermanager; 8

15 De org.ourgrid.worker.receiver.workerexecutionclientreceiver para org.ourgrid.worker.controller.workerexecutionclientcontroll er; De org.ourgrid.worker.receiver.workermanagementreceiver para org.ourgrid.worker.workermanager; De org.ourgrid.worker.receiver.workerreceiver para org.ourgrid.worker.controller.workercontroller. De org.ourgrid.worker.receiver.idlenessdetectorworkercontrolcl ient para org.ourgrid.worker.utils.idlenessdetectorworkercontrolclien t. Motivo: Classe com métodos vazios mas que não pode ser retirada devido a integração com o Commune Pacotes destruidos org.ourgrid.worker.receiver Classes destruídas org.ourgrid.worker.receiver.workercollectorreceiver Motivo: Só era instanciada em uma linha: 9

16 client = new WorkerCollectorReceiver(); e a variável client não era usada; org.ourgrid.worker.collectors.main; org.ourgrid.worker.collectors.common.workerspeccreator Motivo: Não era utilizada em parte alguma do código Classes modificadas org.ourgrid.worker.collectors.gmond.gmondutilstest; Motivo: Sem utilidade aparente, não é chamado por ninguém; org.ourgrid.worker.collectors.interfaces.workercollectorcli ent; org.ourgrid.worker.collectors.gmond.gmondcollectorcomponent; Problemas A falta de documentação ocasionou atraso no entendimento do código. O código do worker possui vários testes de aceitação, porém eles não estavam compatível com a implementação, que ao executar, alguns testes falaram. provocando dificuldades na continuação do refatoramento. 10

17 3.3 Arquitetura A Figura 3.1 ilustra a arquitetura atingida depois da etapa de refatoramento do código do componente Worker: Figura 3.1 Arquitetura do Worker após o refatoramento. 11

18 12

19 Capítulo 4 Virtualização Nos últimos anos, com a evolução da informática, o poder de processamento dos computadores aumentou severamente. Entretanto, existem casos em que todo esse processamento não está sendo utilizado pelas máquinas, fazendo com que exista uma subutilização dos recursos computacionais. Preocupados em procurar soluções que visam à diminuição dessa ociosidade de processamento, os administradores de sistemas têm utilizado a técnica da virtualização. O uso da virtualização representa a simulação de várias máquinas virtuais (VMs) independentes, cada uma rodando uma instância de um sistema operacional virtualizado [2]. Esta técnica não é nova, iniciou-se pela IBM nos mainframes na década de 1960, mas seu uso foi difundido apenas nos anos 1980, tendo em vista a resolução de problemas computacionais e de escalabilidade a um custo relativamente baixo. O sucesso da virtualização baseou-se em alguns princípios. Primeiro, a camada de virtualização, deve isolar uma máquina virtual da outra de modo que não haja interferência entre elas. Não é aceitável que o funcionamento de uma máquina virtual afete o desempenho de outra máquina virtual [3]. Segundo, é necessário suportar um tipo diferente de sistemas operacionais para acomodar os diferentes aplicativos populares existentes. Terceiro, o overhead introduzido pela camada de virtualização deve ser pequeno [3]. Atualmente, os sistemas virtualizados estão com seu espaço em ascensão devido ao fato de resolverem alguns pontos que hoje são críticos em diversas empresas como: incompatibilidade entre hardware e software no que diz respeito a suas modificações com o decorrer do tempo e 13

20 subutilização dos recursos computacionais pelos programas, ou seja, os programas legados não conseguem explorar a totalidade da capacidade dos hardwares atuais. 4.1 Utilização de virtualização em Grids Computacionais Ambientes de grades computacionais oferecem para seus usuários um conjunto de recursos distribuídos e heterogêneos. Dois tipos de problemas de segurança existem em ambientes como este: (i) a segurança dos recursos da grade em relação ao uso indevido dos mesmos pelos usuários da grade; (ii) a segurança das aplicações dos usuários em relação aos recursos da grade [4]. Considerando um sistema em grade de livre acesso como o OurGrid, podemos claramente perceber a necessidade de uma solução para o primeiro tipo de problema. Qualquer pessoa pode acessar os recursos da grade e atacá-los. Considerando que o sistema é executado sobre a Internet, temos também o problema de os recursos serem utilizados para ataques, como por exemplo um ataque de negação de serviço distribuído. Dentre as soluções para a execução segura de tarefas, existem as soluções baseadas no uso de máquinas virtuais (VMs) para o isolamento da tarefa, este tipo de solução é conhecido como Sandboxing. A tradução literal é caixa de areia, porém optamos pelo uso do termo em inglês por já ser aceito e difundido. Atualmente, duas soluções de Sandboxing com base no uso de VMs existem no OurGrid: VMware Server [5] e VServer [6]: ambos, proveem ambientes seguro de execução com base em máquinas virtuais. O ponto fraco da solução VMware Server é sua instalação do software, pois o mesmo é muito grande, o que diminui o desempenho da máquina hospedeira e aumenta o tempo de execução de um Job. Já o defeito da solução que utiliza a tecnologia VServer para virtualizar máquinas é a dificuldade da instalação em ambientes GNU/Linux: algumas distribuições possuem binários de 14

21 instalação em seus gerenciadores de pacote, porém, para sua execução, um kernel com implementação da virtualização Vserver deve ser instalado na máquina hospedeira. As tecnologias VirtualBox e KVM vem como solução para o problema do VMWare Server e o Vserver. O software VirtualBox é leve e de facil instalação, e a tecnologia KVM possui uma execução mais rápida do job e requer menos modificações na instalação da máquina hospedeira. 4.2 Tecnologias de virtualização Abaixo uma breve introdução sobre as tecnologias de virtualização utilizadas neste projeto: Kernel-based Virtual Machine (KVM) e VirtualBox Kernel-based Virtual Machine Kernel-based Virtual Machine (KVM) é uma solução de virtualização para Linux com arquitetura x86, instalado em hardware contendo a extensão de virtualização (Intel-VT para processadores do fabricante Intel ou AMD-V para processadores da marca AMD ) [7]. KVM consiste em um módulo carregado pelo kernel que prove infraestrutura de virtualização e módulos específicos para o processador - kvm-intel.ko ou kvm-amd.ko - dependendo do processador instalado na máquina. Usando a tecnologia de virtualização KVM, pode-se executar múltiplas máquinas virtuais possuindo imagens GNU/Linux ou Windows não alteradas. KVM é do tipo de virtualização paravirtualização: cada máquina virtual possui um hardware privado virtualizado: uma placa de rede, disco rígido, placa de vídeo etc. [11]. 15

22 Emulador qemu O QEMU [8] é um emulador de sistema muito poderoso, gratuito e livre. Com uma interface de facilidade ele tem crescido muito nos ambientes de execução utilizando o sistema operacional Windows. Utilizando comandos simples para tarefas que podem ser complicadas em outros emuladores. O QEMU pode trabalhar com a emulação total do sistema ou emulação no modo usuário: Emulação total do Sistema: Possibilidade da emulação de um sistema completo,processador e periféricos. Utilizando-se a emulação total, o emulador pode ser utilizado para rodar os diversos sistemas operacionais. Figura Arquitetura do Qemu [9] Emulação no modo de usuário: Opção disponível somente para o sitema GNU/Linux, nesse modo o emulador pode executar processos do GNU/Linux compilados para uma plataforma em outra, um programa compilado em uma arquitetura x86 pode ser executado em um PowerPC: 16

23 Figura Emulação no modo de usuário [9] O Qemu possui características que o torn peculiar, das quais podemos citar: ele não requer alterações ou otimizações no sistema hospedeiro, ser fácil de usar e possuir suporte a autoemulação é possível executar o Qemu de dentro de outro Qemu VirtualBox VirtualBox [10] é um software de virtualização desenvolvido pela Sun Microsystems que, como o VMware Workstation, visa criar ambientes para instalação de sistemas distintos. Ele permite a instalação e utilização de um sistema operativo dentro de outro dando suporte real a softwares de outros sistemas. O VirtualBox tem um desenho extremamente modular com interfaces de programação interna bem definidas e um desenho cliente/servidor. Isso torna fácil o controle de várias interfaces de uma só vez. Por exemplo: você pode iniciar uma máquina virtual em uma máquina típica virtual de interface gráfica e, em seguida, controlar essa máquina a partir da uma linha de comando, ou possivelmente remotamente. O VirtualBox também vem com um kit completo desenvolvimento de software: embora seja de código aberto, você não tem que cortar a fonte de escrever uma nova interface para VirtualBox. As definições de configuração de máquinas virtuais são armazenados em XML e são totalmente independentes das máquinas locais. Por isso, as definições podem ser facilmente transferidos para outros computadores. 17

24 O VirtualBox tem um software especial que pode ser instalado dentro das máquinas virtuais Windows e Linux para melhorar o desempenho e fazer integração muito mais perfeita. Entre os recursos fornecidos por essas adições clientes são integração do ponteiro do mouse o e soluções arbitrárias de tela (por exemplo, o redimensionamento da janela do cliente). Tal como muitos outras soluções de virtualização, para facilitar a troca de dados entre os hospedeiros e convidados, o VirtualBox permite a declaração dos diretórios de certos hospedeiros como "pastas compartilhadas", que pode ser acessadas de dentro de máquinas virtuais. 18

25 Capítulo 5 Implementação 5.1 KVM Executor KVM Para o desenvolvimento do suporte a uma nova tecnologia de virtualização, o novo executor deve implementar a interface Executor, a qual define os métodos que os executores devem possuir. Foram implementadas as classes org.ourgrid.common.executor.kvm.kvmsandboxedexecutor. Todas as operações necessárias especificamente para o ambiente de virtualização KVM foram implementadas na classe org.ourgrid.common.executor.kvm.kvmsandboxenvironment, que possui um relacionamento de composição com a classe KVMSandboxedExecutor. Foi necessária também a criação da classe org.ourgrid.common.executor.config.kvmexecutorconfiguration, que possui a configuração do Worker (o arquivo worker.properties pode ser analisado no Anexo C). Essa classe é uma extensão de AbstractExecutorConfiguration. Abaixo encontra-se o diagrama UML ilustrando o relacionamento entre as classes implementadas. 19

26 Figura 5.1 Diagrama de classes da implementação do executor KVM Além dessas classes, para que seja feita a interação com a máquina virtual, oito scripts foram desenvolvidos, cada um com uma finalidade particular: kvm_begin_allocation: restaura o disco da máquina virtual a partir de um arquivo base; kvm_get_guest_files: monta o arquivo correspondente ao disco da máquina virtual e copia esses dados para o storage e playpen da máquina hospedeira; kvm_setup_dev: cria o arquivo correspondente ao disco que possuirá o playpen e storage da máquina virtual; kvm_umount_dev: desmonta o arquivo correspondente da máquina virtual que estava montado na máquina hospedeira para criação do script inicial; kvm_start_n_execute: inicia a máquina virtual; kvm_status: verifica se a máquina virtual está em execução; 20

27 kvm_stop: para a execução da máquina virtual; kvm_kill: aborta a execução da máquina virtual. Detalhes da implementação dos scripts são encontrados no Anexo C Workflow de execução A sequência de execução de um job de forma segura utilizando a tecnologia KVM é da seguinte forma: 1) Primeiro restaura-se a máquina virtual realizando a cópia de um disco previamente customizado; 2) Assim que o método execute() da classe KVMSandboxEnvironment é invocado, cria-se um disco que será usado pela máquina virtual como os diretórios playpen e storage. Esse disco é criado e o comando contido no job é copiado para o arquivo app.command juntamente com o comando halt ao seu final, para desligar a máquina virtual. Esse script fica localizado dentro da pasta playpen citada. 3) É copiado todos os arquivos que estão nos diretórios playpen e storage da máquina hospedeira paras pastas playpen e storage da máquina virtual, respectivamente. O Worker possui o caminho desses diretórios especificados em seu arquivo de configuração: worker.properties (mais detalhes no anexo C); 4) Terminada a operação de cópia do passo 3, é feita então a inicialização da máquina virtual, que possui em seu arquivo de inicialização a executação do script app.command citado no passo 2; 5) É aguardada a finalização da execução do job, e, assim que o método privado issandboxup() da classe KVMSandBoxEnvironment retornar false, indicando que a máquina virtual está desligada, confirma que a execução do job foi 21

28 finalizada. Dessa forma, o resultado pode ser obtido quando o job for executado com sucesso; 6) Detectada que a máquina virtual terminou sua execução, o arquivo mapeado como playpen e storage da máquina virtual é montado na máquina hospedeira em uma pasta temporária, e seu conteúdo é copiado para o playpen e storage da máquina hospedeira Instalação da tecnologia KVM A tecnologia de virtualização KVM é suportada apenas por algumas implementações de processadores. Antes da instalação, deve-se checar se o processador da máquina (hospedeira) em que se deseja instalar tem suporte a tal tecnologia. Essa verificação pode ser feita através do comando: $ egrep '^flags.*(vmx svm)' /proc/cpuinfo Caso o comando acima não retorne alguma infomação, significa que o processador não é compatível. Logo após a checagem, é necessária a instalação dos seguintes pacotes: $ sudo aptitude install kvm libvirt-bin Mais detalhes sobre o ambiente de experimentação encontra-se no anexo A. Após esse procedimento, a máquina possui suporte à execução de máquinas virtuais utilizando a tecnologia KVM Criação de VMs KVM 22

29 Neste projeto, a criação da máquina virtual utilizada pelo componente Worker do grid computacional OurGrid foi feita através dos seguinte passos: Foi necessária a instalação do pacote específico de criação de máquinas virtuais provido pelo repositório da distribuição linux Ubuntu. Sua instalação foi realizada com o seguinte comando: $ sudo apt-get install python-vm-builder Após a instalação do pacote python-vm-builder, um diretório foi criado com a finalidade de ser o modelo de criação da máquina virtual. Esta operação foi executada da seguinte forma: $ mkdir -p ~/vm1/mytemplates/libvirt $ cp /etc/vmbuilder/libvirt/* ~/vm1/mytemplates/libvirt/ Após a criação do template necessário para criação da máquina virtual, foi definido o tamanho do disco da máquina virtual através do arquivo ~/vm1/vmbuilder.partition que possui o seguinte conteúdo: root 800 /var 200 Com isso, agora é possível criar a máquina virtual. O comando executado para isso foi: vmbuilder kvm ubuntu --suite=jaunty --flavour=virtual -- arch=i386 --mirror=http://mirror/ubuntu -o -- libvirt=qemu:///system --part=vmbuilder.partition -- templates=mytemplates --user=root2 --name=root --pass=root - -mem=128 --domain= --hostname=worker5 Ao término da execuçao dos passos acima, a máquina virtual foi criada com sucesso. Para complementar a instalação da VM, foram instalados os pacotes: blender, r-core e sun-java- 6-jre. A lista completa de pacotes instalados encontra-se no anexo D. 23

30 5.1.4 Biblioteca libvirt A biblioteva libvit é uma API software livre para gerenciamento de plataformas virtualizadas [12]. Essa biblioteca foi implementada na linguagem de programação C mas possui bindings para as linguagens de programação Python e Perl. Seu desenvolvimento é feito pela empresa Red Hat e está disponível na maioria das distribuições GNU/Linux, como, por exemplo, as distribuições Ubuntu e Debian. Ela provê o comando virsh, que tem como objetivo o gerenciamento das máquinas virtuais presentes numa máquina hospedeira. Com esse comando, podemos iniciar, parar, paralizar e abortar a execução de máquinas virtuais. 5.2 VirtualBox Para submeter comandos, arquivos de entrada e poder coletar saídas optamos pelo uso de pastas compartilhadas entre hospedeiro e máquina virtual. Para tal que isso fosse possível, criamos uma pasta compartilhada entre o hospedeiro e a máquina virtual e durante o boot da máquina virtual, a máquina virtual monta partições apontando para essa pasta compartilhada Instalação do VirtualBox 3.0 no Windows Preocupamos-nos em atender as mais diversas versões do Windows. Testamos o sistema no Windows XP 32 bits, Windows Vista (32 e 64 bits) e Windows 7 (32 e 64 bits) Criação da VM VirtualBox Para compartilhar arquivos entre a máquina virtual e a máquina hospedeira foi usado o vboxsf (VirtualBox Shared Folder). 24

31 Os seguintes scripts foram adicionados à máquina virtual: /workers_scripts/run_app.sh Script responsável por monta a pasta compartilhada e executar o script com os commandos do job. /workers_scripts/vbox_opts/cmd_opts Arquivo contendo os comandos, pontos de montagem e tipos de partição. Dados usados pelas tarefas a cima. SH="/bin/sh" MOUNT="/bin/mount" UMOUNT="/bin/umount" MOUNTTYPE=vboxsf MOUNTPOINT="/mnt/shared" SHARED="ourgridshared" SH o Interpretador Shell MOUNT o Comando de montagem de partições UMOUNT o Comando de desmontagem de partições MOUNTTYPE o Tipo de partição. MOUNTPOINT o Local no qual a partição é montada dentro da máquina virtual SHARED 25

32 o Apelido para pasta compartilhada no VirtualBox. /workers_scripts/vbox_opts/og_opts Arquivo que define os scripts usados e gerados. APP_SCRIPT="app.script.sh" APP_EXIT="app.exit" APP_STDOUT="app.stdout" APP_STDERR="app.stderr" TERMINATION_FILE=".terminated" APP_SCRIPT o Script com variáveis de ambiente e comando da task APP_EXIT o Código de saída do script APP_SCRIPT APP_STDOUT o Valores impressos na tela pelo APP_SCRIPT APP_STDERR o Mensagens de erro colhidas TERMINATION_FILE o Arquivo que serve para sinalizar o fim do processamento da task 26

33 Pacotes instalados na máquina virtual Para a criação da máquina virtual nos baseamos nos pacotes instalados na imagem do vserver linux-vserver_ tar.bz2 encontrada em Mantivemos a distribuição Debian Lenny 5.0 com acréscimos dos pacotes VirtualBox Guest Additions. Veja o anexo D Pacotes instalados na VM VBOX. Por que não usar o fstab para montar as pastas compartilhadas? A documentação do VirtualBox indica o uso do fstab para montar a pasta compartilhada, mas foram encontradas incompatibilidades com essa técnica durante os concepção da imagem. Obtemos erros do tipo Protocol Error até tentarmos usar o parâmetro l root no momento da execução. Suspeitamos de diversas hipóteses que justificassem esse erros, mas não confirmamos nenhuma dessas teorias. Temos esse erro como uma peculiaridade de máquinas virtuais Debian. 27

34 Capítulo 6 Deployment 6.1 KVM Para facilitar a instalação do Worker na máquina desejada, foram implementados dois scripts de instalação. A seguir é detalhado o funcionamento dos scripts que foram denominados install_kvm.sh e worker_deploy.sh Script install_kvm.sh Primeiro checa-se se o processador possui suporte à virtualização. Caso negativo, a instalação é abortada e uma mensagem é exibida ao usuário indicando que a instalação não pode prosseguir. Em seguida verifica-se se o comando apt-get, disponível nas distribuíções GNU/linux Debian e Ubuntu está disponível para que os pacotes kvm e libvirt-bin sejam instalados. Após a instalação dos pacotes, é adicionado o usuário root ao grupo libvirtd, que foi criado durante a instalação do pacote libvirt-bin. Este passo é necessário para que o usuário root tenha permissão de interagir com as máquinas virtuais através da biblioteca libvirt. 28

35 6.1.2 Script worker_deploy.sh O script de instalação worker_deploy.sh deve serve executado por um superusuário e deve receber três parâmetros: o nome dado à máquina virtual, o caminho do diretório desejado para a instalação do worker e o nome do usuário que executará o Worker. Caso não seja informado o número correto de parâmetros, a seguinte mensagem de erro é exibida: Usage: install <virtualmachinename> <installationdir> <workerusername> For OurGrid updates and additional information, see the OurGrid Project home page at Com os dados informados pelo usuário, são feita as seguintes verificações: 1) Se a pasta informada como diretório de instalação existe; e 2) Se o usuário informado existe. Se alguma dessas verificações estiverem incorretas, a instalação é abortada. O script prossegue copiando a máquina virtual para o diretório de instalação informado, realizando a substituição do nome da máquina virtual em seu arquivo de configuração da mesma. Concluída essa parte, são realizadas as seguintes perguntas para usuário, para a criação do arquivo de configuração do Worker, worker.properties: O nome do usuário que se comunicará com servidor XMPP; A senha do usuário XMPP; O nome do servidor XMPP; Se o usuário quer ativar a função idleness.detector; A localização do diretório playpen da máquina hospedeira; 29

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos

Partição Partição primária: Partição estendida: Discos básicos e dinâmicos Partição Parte de um disco físico que funciona como se fosse um disco fisicamente separado. Depois de criar uma partição, você deve formatá-la e atribuir-lhe uma letra de unidade antes de armazenar dados

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

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux

SOFTWARE LIVRE. Distribuições Live CD. Kernel. Distribuição Linux SOFTWARE LIVRE A liberdade de executar o programa, para qualquer propósito. A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades. Acesso ao código-fonte é um pré-requisito

Leia mais

Virtualização de Software

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

Leia mais

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

Leia mais

Virtualização - 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

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

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

Leia mais

Máquinas Virtuais com o VirtualBox

Máquinas Virtuais com o VirtualBox Máquinas Virtuais com o VirtualBox Marcos Elias Picão www.explorando.com.br No exemplo: Windows XP dentro do Windows 7 Você pode compartilhar livremente sem interesses comerciais, desde que não modifique.

Leia mais

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado

Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Sistema Operacional Unidade 4.2 - Instalando o Ubuntu Virtualizado Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 CRIAÇÃO DA MÁQUINA VIRTUAL... 3 Mas o que é virtualização?... 3 Instalando o VirtualBox...

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

Virtualização Gerencia de Redes Redes de Computadores II

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

Leia mais

Sistema de Arquivos do Windows

Sistema de Arquivos do Windows Registro mestre de inicialização (MBR) A trilha zero do HD, onde ficam guardadas as informações sobre o(s) sistema(s) operacionais instalados. Onde começa o processo de inicialização do Sistema Operacional.

Leia mais

LISTA DE COMANDOS DO LINUX 1

LISTA DE COMANDOS DO LINUX 1 LISTA DE COMANDOS DO LINUX 1 Comandos para manipulação de diretório 1. ls Lista os arquivos de um diretório. 2. cd Entra em um diretório. Você precisa ter a permissão de execução para entrar no diretório.

Leia mais

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

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

Leia mais

Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação.

Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação. Julgue os itens a seguir referentes a conceitos de software livre e licenças de uso, distribuição e modificação. 1.Todo software livre deve ser desenvolvido para uso por pessoa física em ambiente com sistema

Leia mais

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

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

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

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

Leia mais

Sistemas Operacionais 1/66

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

Leia mais

Virtualização. Conceitos e Prática. Tópicos em Sistemas de Computação 2014. Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.

Virtualização. Conceitos e Prática. Tópicos em Sistemas de Computação 2014. Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity. Virtualização Conceitos e Prática Tópicos em Sistemas de Computação 2014 Prof. Dr. Adriano Mauro Cansian adriano@acmesecurity.org Estagiário Docente: Vinícius Oliveira viniciusoliveira@acmesecurity.org

Leia mais

Labgrad. Usúario: Senha: senha

Labgrad. Usúario: <matricula> Senha: senha Suporte A equipe do Suporte é responsável pela gerência da rede do Departamento de Informática, bem como da manutenção dos servidores da mesma, e também é responsável pela monitoria do LabGrad e do LAR.

Leia mais

Desenvolvimento de um Sistema Operacional Linux para fins Acadêmicos e Científicos

Desenvolvimento de um Sistema Operacional Linux para fins Acadêmicos e Científicos Desenvolvimento de um Sistema Operacional Linux para fins Acadêmicos e Científicos Ramon da Silva Pereira Wercely Duarte de Sousa Carlos Henrique Feichas ramon0ramon@gmail.com wercelyduarte@hotmail.com

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

Criando um PC virtual

Criando um PC virtual Criando um PC virtual Microsoft Virtual PC Introdução Se você não sabe o que é virtualização de PCs, ou nem tem idéia dos inúmeros benefícios trazidos por essa técnica, recomendo ler esta introdução feita

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

Faculdades Senac Pelotas

Faculdades Senac Pelotas Faculdades Senac Pelotas Curso Superior de Tecnologia em Redes de Computadores Introdução a informática Alunos Daniel Ferreira, Ícaro T. Vieira, Licurgo Nunes Atividade 4 Tipos de Arquivos Sumário 1 Tipos

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

4 Estrutura do Sistema Operacional. 4.1 - Kernel

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

Leia mais

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

Servidor KVM. Atualmente com foco nas

Servidor KVM. Atualmente com foco nas Configure e gerencie um sistema anfitrião com KVM e Virt-manager Servidor KVM O KVM vem ganhando atenção do mercado corporativo como solução de virtualização. Veja como usá-lo com facilidade. por Carlos

Leia mais

CONTEÚDO PROGRAMÁTICO

CONTEÚDO PROGRAMÁTICO CONTEÚDO PROGRAMÁTICO LINUX ESSENTIALS Presencial (40h) - À distância (48h) Conhecendo um Novo Mundo Introdução ao GNU/Linux Distribuições GNU/Linux Linux Inside: Instalação Desktop Debian e CentOS Primeiros

Leia mais

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

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

Leia mais

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes

Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes Introdução a Informática - 1º semestre AULA 02 Prof. André Moraes 3 MÁQUINAS VIRTUAIS Em nossa aula anterior, fizemos uma breve introdução com uso de máquinas virtuais para emularmos um computador novo

Leia mais

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar

Software Livre. Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar Software Livre Acesso ao código fonte Alterar o código fonte Redistribuir Utilizar como desejar Linux Licença GPL (Licença Pública Geral) Linux Licença GPL (Licença Pública Geral) - A liberdade de executar

Leia mais

22:59:36. Introdução à Informática com Software Livre

22:59:36. Introdução à Informática com Software Livre 22:59:36 Introdução à Informática com Software Livre 1 22:59:36 O Debian é uma distribuição GNU/Linux desenvolvida abertamente por um grupo mundial de voluntários, no esforço de se produzir um sistema

Leia mais

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

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

Leia mais

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves

Campus - Cachoeiro Curso Técnico de Informática. Sistema de Arquivos. Prof. João Paulo de Brito Gonçalves Campus - Cachoeiro Curso Técnico de Informática Sistema de Arquivos Prof. João Paulo de Brito Gonçalves Introdução É com o sistema de arquivos que o usuário mais nota a presença do sistema operacional.

Leia mais

Acronis Backup & Recovery 10 Server para Linux. Update 5. Guia da Instalação

Acronis Backup & Recovery 10 Server para Linux. Update 5. Guia da Instalação Acronis Backup & Recovery 10 Server para Linux Update 5 Guia da Instalação Índice 1 Antes da instalação...3 1.1 Componentes do Acronis Backup & Recovery 10... 3 1.1.1 Agente para Linux... 3 1.1.2 Consola

Leia mais

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

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

Leia mais

ENDEREÇOS DE REDE PRIVADOS. 10.0.0.0 até 10.255.255.255 172.16.0.0 até 172.31.255.255 192.168.0.0 até 192.168.255.255. Kernel

ENDEREÇOS DE REDE PRIVADOS. 10.0.0.0 até 10.255.255.255 172.16.0.0 até 172.31.255.255 192.168.0.0 até 192.168.255.255. Kernel ENDEREÇOS DE REDE PRIVADOS Foram reservados intervalos de endereços IP para serem utilizados exclusivamente em redes privadas, como é o caso das redes locais e Intranets. Esses endereços não devem ser

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

VirtualBox Mario Hato Instituto de Computação UNICAMP VirtualBox

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

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUDESTE DE MINAS GERAIS Campus Rio Pomba. Eu defendo!!! Mini Curso. Linux

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUDESTE DE MINAS GERAIS Campus Rio Pomba. Eu defendo!!! Mini Curso. Linux INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA SUDESTE DE MINAS GERAIS Campus Rio Pomba Mini Curso Linux Eu defendo!!! Apresentação Rafael Arlindo Dias Técnico em Informática CEFET Rio Pomba/MG Cursos

Leia mais

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

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

Leia mais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais

Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Universidade Federal de Ouro Preto Departamento de Computação e Sistemas - DECSI Desenvolvimento para Sistemas Embarcados (CEA 513) Conceitos Gerais Vicente Amorim vicente.amorim.ufop@gmail.com Sumário

Leia mais

Manual de instalação do: Servidor Offline Clickideia Educacional v1.5

Manual de instalação do: Servidor Offline Clickideia Educacional v1.5 DOCUMENTO CONFIDENCIAL Manual de instalação do: Servidor Offline Clickideia Educacional v1.5 2 Sumário Introdução:...3 Configuração Mínima:...3 Conhecimento necessário para instalação:... 3 Suporte:...4

Leia mais

Introdução ao Linux MICHELLE NERY

Introdução ao Linux MICHELLE NERY Introdução ao Linux MICHELLE NERY O que é preciso saber para conhecer o Linux? Entender os componentes de um computador. Conhecimentos básicos de sistemas operacionais. Referência: Sistemas Operacionais

Leia mais

Ensino Técnico Integrado ao Médio

Ensino Técnico Integrado ao Médio Ensino Técnico Integrado ao Médio FORMAÇÃO PROFISSIONAL Plano de Trabalho Docente 2015 Etec Monsenhor Antonio Magliano Código: 088 Município: Garça EE: Eixo Tecnológico: Informação e Comunicação Habilitação

Leia mais

Introdução a Sistemas Abertos

Introdução a Sistemas Abertos Introdução a Sistemas Abertos Apresentação filipe.raulino@ifrn.edu.br Sistemas Abertos Qualquer programa de computador que pode ser usado, copiado, estudado e redistribuído inclusive com seu código fonte

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C CURSO BÁSICO DE PROGRAMAÇÃO AULA 8 Introdução ao Linux Introdução a linguagem C Linux Linux é um termo utilizado para se referir a sistemas operacionais que utilizem o núcleo Linux. Existem muitas distribuições

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

Prof. Rossano Pablo Pinto Dezembro/2012 Versão 0.2 (em construção) Prof. Rossano Pablo Pinto - http://rossano.pro.br 1

Prof. Rossano Pablo Pinto Dezembro/2012 Versão 0.2 (em construção) Prof. Rossano Pablo Pinto - http://rossano.pro.br 1 Visão geral sobre o processo de instalação e manutenção de instalações de software. Notas de aula. (aka lecture notes on Package Management Systems and software installation :)) Prof. Rossano Pablo Pinto

Leia mais

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

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

Leia mais

GINGA - Software Livre para TV Digital Brasileira

GINGA - Software Livre para TV Digital Brasileira 1 of 6 23/6/2010 22:40 GINGA - Software Livre para TV Digital Brasileira Autor: Paulo Roberto Junior - WoLF Data: 13/04/2009 O que é GINGA Posso falar com minhas próprias indagações

Leia mais

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial

TUTORIAL VMWARE WORKSTATION 8. Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial TUTORIAL VMWARE WORKSTATION 8 Aprenda a instalar e configurar corretamente uma máquina virtual utilizando VMware Workstation com este tutorial INTRODUÇÃO O uso de máquinas virtuais pode ser adequado tanto

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

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação Índice IBM SPSS Modeler - Essentials for R: Instruções de Instalação....... 1 Visão Geral............... 1 Instalar o Aplicativo IBM

Leia mais

Universidade Tuiuti do Paraná Especialização em Redes de Computadores. Módulo LPI Aula 5. Meu Deus do Shell! Porque eu não optei pelo Linux antes?

Universidade Tuiuti do Paraná Especialização em Redes de Computadores. Módulo LPI Aula 5. Meu Deus do Shell! Porque eu não optei pelo Linux antes? Universidade Tuiuti do Paraná Especialização em Redes de Computadores Módulo LPI Aula 5 Meu Deus do Shell! Porque eu não optei pelo Linux antes? 1 [1] NEVES, Júlio César Gerenciamento de Pacotes Por que

Leia mais

Curso de Introdução ao. Debian GNU/Linux

Curso de Introdução ao. Debian GNU/Linux Curso de Introdução ao Debian GNU/Linux Apresentação Marcos Azevedo Idade: 23 anos Administrador da Rede Senac Goiás Usuário Linux desde 1993 Desenvolvedor: Java, C/C++/C#, Assembly,.NET e Perl. Hobby

Leia mais

Aula 1 - Introdução e configuração de ambiente de desenvolvimento

Aula 1 - Introdução e configuração de ambiente de desenvolvimento Aula 1 - Introdução e configuração de ambiente de desenvolvimento Olá, seja bem-vindo à primeira aula do curso para desenvolvedor de Android, neste curso você irá aprender a criar aplicativos para dispositivos

Leia mais

INSTALAÇÃO PRINTERTUX Tutorial

INSTALAÇÃO PRINTERTUX Tutorial INSTALAÇÃO PRINTERTUX Tutorial 2 1. O Sistema PrinterTux O Printertux é um sistema para gerenciamento e controle de impressões. O Produto consiste em uma interface web onde o administrador efetua o cadastro

Leia mais

Sistema de Atendimento v1.3 Manual de Instalação v1.0

Sistema de Atendimento v1.3 Manual de Instalação v1.0 Sistema de Atendimento v1.3 Manual de Instalação v1.0 Brasília, 29 de junho de 2010 Sumário Licença deste Documento...3 Introdução ao Sistema de Atendimento...4 Características e módulos...4 Arquitetura...5

Leia mais

VIRTUALIZAÇÃO CONVENCIONAL

VIRTUALIZAÇÃO CONVENCIONAL VIRTUALIZAÇÃO CONVENCIONAL Sera usado o VirtualBox 5.0.8 a versão mais atual e estável da aplicação, para virtualização de um sistema Linux sobre a plataforma Windows. Para esse modelo pratico de virtualização

Leia mais

Roteiro 3: Sistemas Linux arquivos e diretórios

Roteiro 3: Sistemas Linux arquivos e diretórios Roteiro 3: Sistemas Linux arquivos e diretórios Objetivos Detalhar conceitos sobre o sistema operacional Linux; Operar comandos básicos de sistemas Linux em modo Texto; Realizar a manutenção de arquivos

Leia mais

SFD 2010. Carla Souza Otacílio Lacerda

SFD 2010. Carla Souza Otacílio Lacerda SFD 2010 Carla Souza Otacílio Lacerda Virtualização "Em computação, é uma forma de esconder as características físicas de uma plataforma computacional dos utilizadores, mostrando outro hardware virtual,

Leia mais

Planejamento e Implantação de Servidores

Planejamento e Implantação de Servidores Planejamento e Implantação de Servidores Professor Nataniel Vieira nataniel.vieira@gmail.com Aula 01 - Servidores Abordagem geral Teoria e práticas Servidores Linux Comandos Linux 2 Bibliografias da apoio

Leia mais

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS

I N F O R M Á T I C A. Sistemas Operacionais Prof. Dr. Rogério Vargas Campus Itaqui-RS I N F O R M Á T I C A Sistemas Operacionais Campus Itaqui-RS Sistemas Operacionais É o software que gerencia o computador! Entre suas funções temos: inicializa o hardware do computador fornece rotinas

Leia mais

Curso Realmente Básico de Linux (10 Coisas que você precisa saber para usar o sistema operacional mais versátil do Mundo IMHO)

Curso Realmente Básico de Linux (10 Coisas que você precisa saber para usar o sistema operacional mais versátil do Mundo IMHO) Curso Realmente Básico de Linux (10 Coisas que você precisa saber para usar o sistema operacional mais versátil do Mundo IMHO) Essa aula poderá ser baixada em:..http://www.boscojr.com/lpi/arquivos/10coisas.pdf

Leia mais

Revisão LPI101. Tópicos e Objetivos. - 1.102 Instalação e Gerenciamento de Pacotes do Linux. - 1.104 Dispositivos, Sistemas de Arquivos Linux e o FHS

Revisão LPI101. Tópicos e Objetivos. - 1.102 Instalação e Gerenciamento de Pacotes do Linux. - 1.104 Dispositivos, Sistemas de Arquivos Linux e o FHS Tópicos e Objetivos - 1.101 Hardware e Arquitetura - - 1.103 Comandos GNU e Unix - 1.104 Dispositivos, Sistemas de Arquivos Linux e o FHS - 1.1.10 Sistema Xwindow 65 Questões em 90 minutos = 1m24s por

Leia mais

Curso GNU/Linux. Instalação do Linux...2 O HD não possui nenhuma partição...3. Existe apenas uma partição com espaço livre...3

Curso GNU/Linux. Instalação do Linux...2 O HD não possui nenhuma partição...3. Existe apenas uma partição com espaço livre...3 Cesar Kállas - cesarkallas@gmx.net Curso GNU/Linux Realização CAECOMP Puc Campinas 2004 Capítulo 3 Instalação do Linux...2 O HD não possui nenhuma partição...3 O HD tem espaço livre não particionado...3

Leia mais

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

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

Leia mais

Sistema Operacional Unidade 2 - Estrutura, dispositivos e sistema de arquivos do Linux

Sistema Operacional Unidade 2 - Estrutura, dispositivos e sistema de arquivos do Linux Sistema Operacional Unidade 2 - Estrutura, dispositivos e sistema de arquivos do Linux Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 ESTRUTURA DE DIRETÓRIOS LINUX... 3 SISTEMA DE ARQUIVOS E PARTICIONAMENTO...

Leia mais

Aula 02. Introdução ao Linux

Aula 02. Introdução ao Linux Aula 02 Introdução ao Linux Arquivos Central de Programas do Ubuntu A Central de Programas do Ubuntu é uma loja de aplicativos integrada ao sistema que permite-lhe instalar e desinstalar programas com

Leia mais

Requisitos do Sistema

Requisitos do Sistema PJ8D - 017 ProJuris 8 Desktop Requisitos do Sistema PJ8D - 017 P á g i n a 1 Sumario Sumario... 1 Capítulo I - Introdução... 2 1.1 - Objetivo... 2 1.2 - Quem deve ler esse documento... 2 Capítulo II -

Leia mais

PROVA DE PRÉ-REQUISITO

PROVA DE PRÉ-REQUISITO PROVA DE PRÉ-REQUISITO 1 O usuário neo, deseja se conectar na máquina remota 10.0.0.1 via ssh. Qual a sintaxe correta? a) ssh -L neo 10.0.0.1 b) ssh -u neo 10.0.0.1 c) ssh neo@10.0.0.1 d) ssh neo@10.0.0.1:

Leia mais

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos

Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos Sistemas Operacionais de Rede Linux - Gerenciamento de Arquivos Conteúdo Programático Login e Logout Iniciando e Desligando o Sistema Tipos de arquivo Texto Binário Arquivos e Diretório Manipulação de

Leia mais

Revisão Aula 3. 1. Explique a MBR(Master Boot Record)

Revisão Aula 3. 1. Explique a MBR(Master Boot Record) Revisão Aula 3 1. Explique a MBR(Master Boot Record) Revisão Aula 3 1. Explique a MBR(Master Boot Record). Master Boot Record Primeiro setor de um HD (disco rígido) Dividido em duas áreas: Boot loader

Leia mais

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho

Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho Avaliação do Uso de Xen em Ambientes de Computação de Alto Desempenho Márcio Parise Boufleur Guilherme Piegas Koslovski Andrea Schwertner Charão LSC - Laboratório de Sistemas de Computação UFSM - Universidade

Leia mais

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação Índice IBM SPSS Modeler - Essentials for R: Instruções de Instalação....... 1 IBM SPSS Modeler - Essentials for R: Instruções de Instalação...............

Leia mais

Google File System. Danilo Silva Marshall Érika R. C. de Almeida

Google File System. Danilo Silva Marshall Érika R. C. de Almeida Google File System Danilo Silva Marshall Érika R. C. de Almeida Tópicos abordados Sistemas de arquivos Sistemas de arquivos distribuídos Google File System Gmail File System Linux Windows Gspace Referências

Leia mais

Capítulo 1. Introdução

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

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

Leia mais

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

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

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

Leia mais

Paravirtualização com o XEN no Debian. Aldrey Galindo

Paravirtualização com o XEN no Debian. Aldrey Galindo Paravirtualização com o XEN no Debian Aldrey Galindo Sumário Introdução Técnicas de Virtualização Visão Geral de todo o processo Conclusão Sumário Introdução Técnicas de Virtualização Visão Geral de todo

Leia mais

Principais Comandos do Terminal no LINUX

Principais Comandos do Terminal no LINUX Principais Comandos do Terminal no LINUX Estes comandos não visam ser um compêndio completo de operação, haja vista que se possui mais comandos que esses aqui que serão listados, logo os comandos são:

Leia mais

Virtualização - VMWare e Xen

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

Leia mais

Xen Cloud Platform Xen descomplicado

Xen Cloud Platform Xen descomplicado Xen Cloud Platform Xen descomplicado CAPA A Xen Cloud Platform facilita muito a criação e o gerenciamento de máquinas virtuais sobre o hypervisor Xen. por Boris Quiroz e Stephen Spector A revolução da

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Curso de Linux Básico com o Linux Educacional

Curso de Linux Básico com o Linux Educacional Curso de Linux Básico com o Felipe Buarque de Queiroz felipe.buarque@gmail.com Unidade Gestora de Tecnologia da Informação - UGTI Fundação de Amparo a Pesquisa do Estado de Alagoas - FAPEAL Maio de 2009

Leia mais

CESPE - 2012 - FNDE - Técnico em Financiamento e Execução de Programas e Projetos Educacionais

CESPE - 2012 - FNDE - Técnico em Financiamento e Execução de Programas e Projetos Educacionais CESPE - 2012 - FNDE - Técnico em Financiamento e Execução de Programas e Projetos Educacionais De modo semelhante ao Linux, o Windows é considerado um software microbásico. Uma característica desse tipo

Leia mais

Administração de Sistemas Operacionais Não-Proprietários II

Administração de Sistemas Operacionais Não-Proprietários II Faculdade Senac Porto Alegre - FSPOA Administração de Sistemas Operacionais Não-Proprietários II UC: Administração de Redes Aula 01 1/15 Faculdade Senac Porto Alegre - FSPOA Revisão 2/15 Linux e Distribuições

Leia mais

Virtualização e kernel, vistos por dentro

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

Leia mais

AULA 10 TUTORIAL VIRTUALBOX

AULA 10 TUTORIAL VIRTUALBOX AULA 10 TUTORIAL VIRTUALBOX 1 Sumário Tutorial VirtualBox - Configurações e Utilização... 3 Requisitos Mínimos... 3 Compatibilidade... 3 Download... 3 Instalação do VirtualBox... 4 Criando a Máquina Virtual

Leia mais

SISTEMA OPERACIONAL INFORMÁTICA PRF. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br SISTEMA OPERACIONAL SISTEMA OPERACIONAL SISTEMA OPERACIONAL FUNÇÃO:

SISTEMA OPERACIONAL INFORMÁTICA PRF. Prof.: MARCIO HOLLWEG mhollweg@terra.com.br SISTEMA OPERACIONAL SISTEMA OPERACIONAL SISTEMA OPERACIONAL FUNÇÃO: SISTEMA OPERACIONAL INFORMÁTICA PRF Prof.: MARCIO HOLLWEG mhollweg@terra.com.br FUNÇÃO: GERENCIAR, ADMINISTRAR OS RECURSOS DA MÁQUINA. SISTEMA OPERACIONAL EXEMPLOS MS-DOS WINDOWS 3.1 WINDOWS 95 WINDOWS

Leia mais

AUXÍLIO COMPUTACIONAL

AUXÍLIO COMPUTACIONAL AUXÍLIO COMPUTACIONAL Sumário 1 Introdução...1 2 Sistema Operacional...1 2.1 Usando o Linux - no seu PenDrive...2 2.2 Usando o Linux - instalado no seu HD...4 2.3 Instalando Softwares Diretamente...4 2.3.1

Leia mais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais

Introdução. Nível do Sistema Operacional. Introdução. Um Sistema Operacional... Introdução a Sistemas Operacionais Introdução Nível do Sistema Operacional (Aula 14) Introdução a Sistemas Operacionais Hardware Provê os recursos básicos de computação (CPU, memória, E/S,etc.) Programas (aplicações) Definem as maneiras

Leia mais