O QUE É O CLUSTER OPENMOSIX - COMPILAÇÃO DE UM KERNEL LINUX PARA UM CLUSTER OPEN/MOSIX E MONTAGEM BÁSICA DE UM CLUSTER OPENMOSIX.

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

Download "O QUE É O CLUSTER OPENMOSIX - COMPILAÇÃO DE UM KERNEL LINUX PARA UM CLUSTER OPEN/MOSIX E MONTAGEM BÁSICA DE UM CLUSTER OPENMOSIX."

Transcrição

1 O QUE É O CLUSTER OPENMOSIX - COMPILAÇÃO DE UM KERNEL LINUX PARA UM CLUSTER OPEN/MOSIX E MONTAGEM BÁSICA DE UM CLUSTER OPENMOSIX. 1 André Avila Kaminski 2 Resumo Um cluster openmosix é formado por um conjunto de computadores que utilizam um sistema operacional distribuído. É construído a partir de computadores convencionais (nós) ligados em rede, os quais comunicam-se através do sistema de forma que ocorre um balanceamento de carga de processamento entre os nós do cluster. Utiliza-se o kernel Linux para a instalação do sistema, no qual é aplicado um patch que torna possível a compilação de suporte à migração de processos, bem como medição de carga e comunicação entre os nós do sistema diretamente no kernel. O openmosix é um projeto de Software Livre, motivo pelo qual garante o baixo custo de montagem de um cluster cujo desempenho é muito interessante. Palavras-chave: Cluster, Linux, Software Livre Abstract An openmosix Cluster is formed by a set of computers that use a distributed operational system. It is constructed from conventional computers (nodes) on a network, which communicate themselves through the system, occurring a balancing of load process by the nodes of the cluster. The kernel Linux is used for the installation of the system, a patch is applied in the kernel making possible the compilation of support to the migration of processes, as well as load measurement and communication by the nodes of the system directly in the kernel. The openmosix is a free software project, it is the reason for the guarantees to the low cost of assembly of cluster whose performance is very interesting. Key-words: Cluster, Linux, Free Software 1. CLUSTER Define-se um cluster como um conjunto de Pcs ou estações que, interligados, comportam-se como um sistema de imagem única (SSI - Single System Image). O conceito de SSI se resume em que um sistema paralelo ou distribuído independe de ser composto por vários processadores ou recursos físicamente distribuídos, deve comportar-se com um sistema centralizado do ponto de vista do usuário, sendo transparente ao mesmo todos os aspectos relativos à distribuição de dados e tarefas, comunicação e sincronização entre tarefas e a organização física do sistema. 1 Este artigo encontra-se sob a licença Creative Commons. Foi liberado pelo próprio autor para ser inserido na Revista Gestão e Conhecimento. 2 Bacharel em Relações Internacionais e estudante de pós-graduação em Software Livre. Bolsista há 2 anos no Instituto de Tecnologia do Paraná (http://www.tecpar.br), atuando em pesquisas de soluções em Software Livre para projetos de migração de plataformas. Pesquisador do desenvolvimento do Software Livre na América Latina, bem como dos impactos políticos e sociais gerados pela evolução do mesmo na região. Gestão & Conhecimento, v. 4, n.1, jan./jun. 2006: 49-75

2 Kaminski, André Ávila Em uma rede, os nós tendem a ser menos complexos do que os nós de um cluster, pois em uma rede os nós correspondem a Pcs ou estações monoprocessadas. Em um cluster, os nós podem conter dois, quatro ou mais processadores, tendo uma complexidade igual ou até mesmo maior do que máquinas MPP (máquinas proprietárias de processamento massivo), se for considerado a presença de discos e sistemas operacionais. As máquinas SMP (máquinas multiprocessadas) geralmente são mais complexas, pois podem conter um número maior de processadores. As redes de comunicação dos computadores podem ser baseadas em switches de alta velocidade, que permitem a transmissão simultânea de pacotes pertencentes a diferentes pares de comunicação em alta velocidade, como no caso do fast ethernet e gigabit ethernet. A constante demanda de poder computacional vem gerando a necessidade de processadores cada vez mais rápidos. Na computação de alto desempenho, utilizada para programação científica, multimídia, gerenciamento de grandes volumes de dados etc., a solução passa por máquinas com múltiplos processadores ou ainda clusters proprietários fornecidos por grandes empresas. Ambas soluções são custosas e de pouca escalabilidade. O projeto openmosix viabiliza a computação de alto desempenho utilizando computadores ligados em rede e com sistema operacional GNU/Linux. 1.1 O Cluster openmosix Durante a década de 1980, foi utilizado pela força aérea americana, para a construção de um cluster de computadores PDP 11/45, o projeto Mosix (Multicomputer Operating System unix), um sistema operacional distribuido originalmente desenvolvido pelos estudantes da Universidade Hebrew em Jerusalém, Israel, juntamente com o professor Ammon Barak. Gestão & Conhecimento, v. 4, n.1, jan./jun

3 Em 10 de fevereiro de 2002 surgiu uma extensão do projeto Mosix, o openmsix, baseado na GPLv2 3 para manter os privilégios dessa solução Linux 4 para cluster disponível com software de código aberto, coordenado pelo Ph.D Moshe Bar. O openmosix é uma extensão do kernel Linux do sistema operacional GNU/Linux, que faz com que um cluster de computadores se comporte como um grande e único supercomputador através da utilização de migração preemptiva de processos e balenceamento dinâmico de carga. A implementação da migração preemptiva de processos é capaz de migrar qualquer processo do usuário, em qualquer instante e para qualquer nó disponível de maneira transparente. Para atingir um melhor desempenho este é controlado por algoritmos de balanceamento dinâmico de carga e de prevenção contra a falta de memória. Estes algoritmos são projetados para responder dinamicamente as variações da utilização dos recursos nos diversos nós. Isto garante que o cluster se comporte muito bem, seja numa configuração com poucas ou com muitas máquinas, propiciando uma maior escalabilidade. Se o programa que estamos rodando em uma máquina consumir muito recurso dela, o sistema varre a rede toda e procura uma máquina que esteja com seus recursos mais disponíveis em termos de memória e CPU, e desloca o processo, ou parte dele, para ser executado remotamente, assim, o sistema ganha desempenho. Os algoritmos de balanceamento dinâmico de carga e de prevenção contra a falta de memória são descentralizados, não existindo assim a configuração de um controlador mestre e nós escravos como ocorre no Cluster Beowulf 5 para computação paralela. Cada nó um mestre para os processos que são criados localmente, e um servidor para processos remotos, migrados de outros nós do cluster. Sendo assim, podemos acrescentar ou remover as máquinas do cluster em qualquer momento, com um mínimo de disturbio no sistema. Existem também algoritmos de monitoramento que identificam a velocidade de cada nó, a carga da CPU e a memória livre disponível, e Gestão & Conhecimento, v. 4, n.1, jan./jun

4 Kaminski, André Ávila também como está a comunicação interprocessos IPC e a velocidade de acesso a cada processo. O openmosix opera de forma silenciosa, assim as operações são transparentes para as aplicações, pode-se executar aplicações sequenciais e paralelas como se fosse um único computador SMP (multiprocessamento simétrico). Você não precisa saber onde os processos estão sendo executados, nem se preocupar com o que as outras máquinas estão fazendo na rede, por isso ele usa o acrônimo fork and forget. O que ele faz é, pouco tempo depois de iniciar os processos, o openmosix enviaos para um melhor computador da rede, o openmosix continua a monitorar os novos processos e os demais, e poderá movimentá-los pelos computadores com pouca carga de trabalho maximizando o trabalho e melhorando a performance do cluster. Aplicações que se beneficiam com o openmosix: processos CPU-bound: processos com longos tempos de execução e baixo volume de comunicação entre processos, como aplicações científicas e de engenharia, que necessitam de altas performances de computação; grandes compilações; processos I/O bound misturados com processos da CPU: executados através do servidor de arquivos, usando o sistema de arquivos distribuídos do openmosix, o MFS (Mosix File System) e o DFSA (Distributed File System Architeture); banco de dados que não usem memória compartilhada; processos que podem ser migrados manualmente. As desvantagens do openmosix: processos com baixa computação, como aplicativos com alta comunicação interprocessos; aplicações com memória compartilhada; Gestão & Conhecimento, v. 4, n.1, jan./jun

5 aplicações dependentes do hardware que necessitam de acesso a um periférico de um nó em especial; aplicações com muitas threads não ganham desempenho; não se ganha desempenho quando se roda um único processo, tal como seu browser por exemplo. Aplicações testadas que não migram sobre openmosix: programas em Java usando threads nativas não migram desde que eles utilizem memória compartilhada. Green Threads JVMs, entretanto, podem ser migradas porque cada thread Java é um processo separado; aplicações que usam pthreads; MySQL, Apache, Oracle, Postgres, SAP, Baan, usam memória compartilhada; python com threading habilitada; Vmware. Este, ao rodar o Win98, algumas vezes trava e em outras o emulador do sistema operacional pára. Deve-se ter muito cuidado quando utilizar o Vmware com o openmosix. A característica de não migrar é uma situação normal para programas que falhariam ao serem movimentados pelo openmosix. Estes programas devem rodar como planejado no nó onde foram iniciados. 2. ALGORITMO DE COMPARTILHAMENTO DE RECURSOS DO CLUSTER OPENMOSIX 2.2 Balanceamento Dinâmico de Carga O algoritmo de balanceamento de carga tenta continuamente reduzir a diferença de carga entre pares de nós, transportando processos de um nó muito Gestão & Conhecimento, v. 4, n.1, jan./jun

6 Kaminski, André Ávila carregado para um nó menos carregado. O esquema utilizado não é centralizado, todos os nós executam o mesmo algoritmo, e a tentativa de redução das diferenças é executada independentemente e aos pares. 2.3 Anunciador de Memória O algoritmo do anunciador de memória serve para evitar o exaurimento da memória. Este é direcionado para tentar colocar a maior ocupação possível da memória do cluster de computadores, evitando ao máximo que ocorra a paginação ou utilização da memória virtual. Inclusive, é quando um determinado nó começa a fazer muita paginação que o algoritmo entra em ação. Neste caso específico, este algoritmo tem a preferência sobre os demais, mesmo que a migração do processo cause um desbalanceamento de carga. 2.4 Migração Preemptiva de Processos A Migração Preemptiva de Processos (MPP) é capaz de migrar qualquer processo, em qualquer instante, para qualquer nó do cluste. Usualmente esta migração é baseada nas informações geradas pelos algoritmos automáticos, mas também podem ser sobrepostas por operações manuais, sejam estas executas pelo usuário ou por outros processos. Cada processo tem o seu UHN (Unique Home Node), máquina na qual o processo foi criado.normalmente é onde o usuário está logado. O modelo que o openmosix segue é espelhado num Cluster de Computadores - CC (Cluster of Computers) onde cada processo "pensa" que está rodando no seu UHN e todos os processos deste usuário compartilham este ambiente UHN. Os processos que são migrados para outros nós podem usar os recursos locais do novo nó, caso seja possível, mas interagem com o ambiente do usuário através do UHN. Para exemplificar esse conceito, podemos dizer que caso o usuário venha a executar um comando "top", este deverá listar todos os processos que o usuário disparou, inclusive aqueles que foram transferidos para os nós remotos. Outro exemplo seria: um dos processos que foi Gestão & Conhecimento, v. 4, n.1, jan./jun

7 migrado invoca o método "gettimeofday()" que deve retornar o horário corrente da máquina UHN. O MPP é a principal ferramenta que os algoritmos de gerência de recursos utiliza, por exemplo, enquanto os recursos, como a memória ou a CPU, estão subutilizados ou abaixo do limite estabelecido o processo está confinado a ficar no UHN. Mas, se em um determinado instante estes limites forem extrapolados, alguns processos serão migrados para outros nós para aproveitar da melhor maneira possível os recursos disponíveis. Todo este processo é feito sem um controle central, não existindo nenhum relacionamento mestre/escravo entre os nós. Ou seja, cada nó do sistema opera de maneira independente e autônoma, tomando as suas decisões de maneira independente, o que permite uma configuração dinâmica, onde os nós podem entrar ou sair do grupo causando o mínimo de problema. Isto garante uma boa escalabilidade tanto em sistemas de grande porte quanto em pequenos sistemas. 2.5 Implementação da Migração de Processos O openmosix suporta e implementa de maneira transparente a migração de processos de modo preemptivo. Para realizar isso, o openmosix divide o processo que será migrado em duas partes, ou seja, em dois contextos: um que será transferido, que é chamado de contexto do usuário, e outro que é dependente da UHN e que não pode ser migrado, que chamamos de contexto do sistema. O contexto do usuário, chamado de representado, contém o código do programa, a pilha, os dados, os mapas de memória e o estado dos registradores do processo. O representado encapsula todas as informações do processo que estão rodando em modo usuário. O contexto do sistema, chamado de representante encapsula o processo quando este está rodando em modo supervisor. Este contém todas as descrições dos recursos os quais o processo faz uso ou está alocado para ele, e a pilha do sistema que Gestão & Conhecimento, v. 4, n.1, jan./jun

8 Kaminski, André Ávila controla a execução do processo. Como ele contém a parte do processo que é dependente do contexto do sistema, ele deve permanecer no UHN. Como foi citado anteriormente, o representado pode ser transferido quantas vezes for necessário, para qualquer nó do cluster, mas o representante jamais pode ser movido. Como a interface entre o modo usuário e o modo supervisor é muito bem definida e conhecida, é possível e extremamente simples interceptar toda e qualquer interação que existe entre esses dois modos e encaminhá-la para outros nós da rede. Isto é feito numa camada que chamamos de camada de adaptação a qual contém um canal especial de comunicação para a interação entre elas. Por causa desta divisão o processo a ser migrado tem um tempo de migração também composto por duas partes, uma fixa que é o tempo para criar a imagem do processo no nó remoto, e uma parte linearmente proporcional ao número de páginas a serem transferidas do processo. Para tentar minimizar a sobrecarga imposta pela migração, somente a tabela de páginas e as páginas marcadas como "sujas" do processo são transferidas. No momento da execução o openmosix garante a transparência de localização, transferindo todas as chamadas de sistema que são dependentes do local para o representante que está no UHN do processo. Estas chamadas são síncronas, ou seja, são interceptadas pela camada de adaptação remota e transferidas pelo canal especial de comunicação para o nó onde o processo foi lançado, este é executado e o retorno é re-transferido para o nó remoto o qual segue na execução do processo. Se durante esta execução a camada de adaptação descobre que algumas dessas chamadas ao sistema são independentes da localização, esta decide por não mandar a chamada para o UHN e a executa localmente, melhorando assim o desempenho. Evidentemente existem outras formas de interação entre os dois contextos do processo, como sinais, dados chegando pela rede, eventos, etc. Estes tipos de interações fazem com que o representante assincronamente tente localizar e interagir com o representado. Para que isso funcione o representado fica monitorando o canal especial de comunicação para ver se algum evento ou dado chega para ele. Ao mesmo Gestão & Conhecimento, v. 4, n.1, jan./jun

9 tempo o representante verifica sempre se alguma ação deve ser tomada quando algum tipo de evento ou dado chega para ele. Essa implementação é bastante robusta e independente de modificações que ocorram no núcleo do sistema, assim como não utiliza características especiais do sistema ou da máquina, o que garante que isso possa ser portado para diferentes arquiteturas de máquinas. Porém existe um pequeno problema. Para todas as chamadas do sistema existe uma sobrecarga para testar o que deve ser feito, e esta será ainda maior se tiver que ser transferida entre os nós. No entanto, normalmente, os ganhos são maiores o que justifica a implementação deste sistema. Algumas funções do núcleo do sistema não são compatíveis com esse esquema de divisão do processo em duas partes, como, por exemplo, escrita em memória compartilhada, aplicações em tempo real, instruções que acessem um barramento específico, dentre outras. Nestes casos, os processo são automaticamente confinados no UHN e, se por algum motivo eles já foram transportados, eles devem ser migrados de volta para o UHN. 2.6 Acesso à Arquivos Outro grande desafio dos clusters SSI é que cada nó tem que ser capaz de acessar o sistema de arquivos de todos os outros nós. Isso acontece porque caso seja executado um programa que abre o arquivo /tmp/teste para leitura e escrita este processo migra para outro nó do cluster e ele deve ser capaz de continuar fazendo I/O para o arquivo e a partir dele. Até agora existem duas opções para fazer isso. Na primeira, o cluster openmosix intercepta todos I/Os feitos por processos que foram migrados para o host corrente e depois para outro nó e manda estas requisições para o nó no qual o processo se originou. A segunda, seria criar uma visão global do sistema de arquivos através de NFS. A primeira é mais difícil de desenvolver, mas mais fácil de manter em operações do dia-a-dia. A segunda é mais fácil de implementar, mas pode ser mais Gestão & Conhecimento, v. 4, n.1, jan./jun

10 Kaminski, André Ávila problemático montar todos sistemas de arquivos de maneira inteligente, permitindo que cada nó acesse todos os outros nós. Adicionalmente é preciso ter certeza que todos os UIDs (identificador de usuários no sistemas Linux) e GIDs (identificador de grupos nos sistemas Linux) são consistentes para todos os nós no cluster, em contrapatida sérios problemas de permissões de acessos aos arquivos irão aparecer. Até então o openmosix suportou as duas opções. Mas agora está surgindo um novo sistema de arquivos de cluster para Linux que permite uma visão compartilhada de todos os sistemas de arquivos. Desenvolvedores de clusters dizem que todas as soluções atuais para sistemas de arquivos de cluster do tipo cluster-wide são baseados num servidor de arquivos central, mas existem novas tecnologias de sistemas de arquivos sendo desenvolvidas que atendem todas as necessidades de um cluster SSI como o openmosix. Utilizando o melhor do que está sendo pesquisado atualmente em sistema de arquivos e aplicando isto ao openmosix, surgiu o DFSA (Direct File System Access). O sistema de arquivos DFSA foi projetado para reduzir o overhead causado pela execução de I/Os feitas por chamadas de sistemas de processos migrados. Isto foi feito permitindo que a execução de grande parte das chamadas de sistemas seja feita localmente - no nó onde o processo se encontra. Além disso, o DFSA possui um novo algoritmo que leva em conta as operações de I/O que foi adicionado à política de distribuição de processos do openmosix (balanceamento de carga). O resultado dessas inovações é que os processos que executam de moderado a alto volume de I/Os provavelmente serão migrados para o nó ao qual se dirigem a maior parte de seus I/Os. Uma vantagem óbvia disto é que os processos que tenhas I/O limitado terão uma flexibilidade maior para migrar de seus respectivos nós originais para que o sistema obtenha um melhor balanceamento de carga. Então, diferentemente de todos os sistemas de arquivos de rede existentes (se diz NFS) que trazem os dados do servidor de arquivos para o nó do cliente através da rede, um cluster openmosix tenta migrar os processos para um nó no qual o arquivo está armazenado. Gestão & Conhecimento, v. 4, n.1, jan./jun

11 3. CONSTRUINDO UM CLUSTER OPENMOSIX Pode-se ter um cluster openmosix basicamente de duas maneiras: A primeira opção seria utilizar uma distribuição Linux diretamente de um CD bootavel. Estas distribuições são voltadas exatamente para a montagem de clusters, facilitando muito o aprendizado de iniciantes no mundo dos supercomputadores, pois é necessário apenas dar o boot pelo CD em duas ou mais máquinas interligadas em rede para ver um cluster funcionando. Pode-se citar como exemplo de distribuições a distribuição ClusterKnoppix 6, que serve como um Terminal Server para máquinas clientes com boot via PXE e a distribuição dyne:bolic, voltada para produção multimídia. Outras distribuições bootáveis podem ser encontradas no site osix_clusters.html; A segunda opção, a qual será descrita neste artigo, é utilizar uma distribuição Linux qualquer com instalação física na máquina. Deve-se utilizar um kernel Linux e aplicar um patch neste kernel, habilitando-o às necessidades do openmosix. 3.1 Escolhendo uma Distribuição Linux A distribuição Linux a ser utilizada depende muito da opção da pessoa responsável pelo cluster, pois o importante é o kernel Linux estar habilitado para trabalhar com o openmosix. Para a construção de um cluster openmosix a distribuição Debian GNU/Linux 7 é amplamente utilizada, mas pode-se encontrar tutoriais de montagem de um cluster openmosix com várias outras distribuições, como o tutorial openmosix Cluster on Gentoo 8 do Gentoo Linux 9, por exemplo Gestão & Conhecimento, v. 4, n.1, jan./jun

12 Kaminski, André Ávila Será utilizada o Debian GNU/Linux para a montagem do cluster openmosix. Existem nos repositórios da distribuição os pacotes necessários para a instalação do cluster e monitoração do mesmo, e pode-se encontrar também na internet shell scripts para demonstrar a migração de processos entre os nós do cluster. 3.2 Escolhendo um Kernel Linux para o Sistema A escolha do kernel pode ser definida pela finalidade da montagem do cluster e pelo hardware utilizado nas estações. No site oficial do projeto openmosix 10 apenas o patch para o kernel versão é disponibilizado como estável, mas existem patchs para outras versões em um site não-oficial 11, onde encontra-se até mesmo para as últimas versões. Na internet fica fácil encontrar resoluções de problemas para versões mais antigas do kernel, enquanto para as versões mais recentes encontrase pouca coisa, por isso é aconselhável utilizar versões mais velhas do kernel. Atualmente (10/11/2005) o kernel Linux está na versão estável , mas como o patch para esta versão ainda não está oficialmente declarado estável pelos mantenedores do projeto openmosix, será utilizado o kernel , o qual se mostra muito estável para a função. 3.3 Iniciando a Montagem do Cluster para Demonstração dos Testes Para demonstração do funcionamento de um cluster openmosix, serão utilizadas duas máquinas com sistema operacional Debian GNU/Linux com um kernel com o patch devidamente aplicado. As configurações das máquinas (nós) do cluster são: Máquina 01 (N1): Notebook Acer / TravelMate Gestão & Conhecimento, v. 4, n.1, jan./jun

13 Processador Intel Mobile Pentium III 1000MHz, 512KB cache 256MB de memória RAM Placa de rede fast ethernet RealTek RTL /100 Máquina 02 (N2): Processador AMD Athlon (1800MHz), 64 bits, 512KB cache 512MB de memória RAM Placa de rede gigabit ethernet Realtek RTL8169/ /100/1000 No sistema operacional Debian GNU/Linux da N1 está instalado a interface gráfica Gnome 12, para que seja possível a visualização da migração de processos entre os nós do cluster através do aplicativo openmosixview 13, versão 1.5. Neste aplicativo podem ser vistos a eficiência do balanceamento de carga entre os nós, a memória total do cluster, o número de processadores do cluster, a porcentagem de memória utilizada e também existem opções para visualizar a migração de processos entre os nós, os processos que estão em andamento e gráficos da carga dos nós do cluster, dando a opção de poder gravar e/ou imprimir estes gráficos. É necessária a interface gráfica na N1 por dois motivos: o primeiro seria a demonstração gráfica da migração de processos; o segundo seria por ser uma máquina com menor poder de processamento e memória RAM, facilitando a indução de migração de processos para a N2. Na máquina N2 não haverá necessidade de utilizar interface gráfica, pois assim haverá mais memória livre para os testes. No nó N2 não haverá mais nada rodando a mais do que o sistema operacional Debian GNU/Linux e o openmosix. A ligação entre os dois nós do cluster será feita por um cabo crossover, por ter apenas dois nós, e sem a necessidade de conexão com outra rede ou máquinas, será dispensado a utilização de switches ou hubs, para que haja uma maior performance e diminua a possibilidade de falhas na hora dos testes. A velocidade da placa de rede do N2 é gigabit ethernet, mas trabalhará apenas como fast ethernet, pois a limitação está na placa de rede do nó N Gestão & Conhecimento, v. 4, n.1, jan./jun

14 Kaminski, André Ávila 4. COMPILADOR PARA UM KERNEL LINUX COM SUPORTE AO CLUSTER OPENMOSIX Para que se possa compilar um Kernel Linux openmosix é necessário utilizar a versão do compilador gcc 14, pois quando utilizada outra versão, a compilação apresentou muitos erros, impossibilitando a criação do kernel openmosix. Para isso foi necessário fazer o download do código fonte do gcc , descompactá-lo com o comando: tar jxvf gcc tar.bz2 E compilá-lo com a opção CC= gcc-3.3, para que fosse corretamente compilado e instalado, com os seguintes comandos: cd gcc /configure make CC= gcc-3.3 make CC= gcc-3.3 install Agora já existe no sistema o compilador necessário para a criação do kernel openmosix. O executável do compilador gcc versão será instalado no diretório /usr/local/bin/ com o nome de i686-pc-linux-gnu-gcc COMPILANDO UM KERNEL LINUX PARA CLUSTER OPENMOSIX Como citado anteriormente, será utilizado um kernel Linux versão para a utilização nos nós, tanto no N1 quanto no N2. Não há nada a mais nos kernels de ambas as máquinas do que o necessário para cada uma funcionar como um nó de Gestão & Conhecimento, v. 4, n.1, jan./jun

15 cluster openmosix e habilitar as funcionalidades necessárias para a demosntração do funcionamento do cluster. O primeiro passo foi fazer o download do código fonte do kernel do site oficial do Kernel Linux, descompar o código fonte no diretório correto: mv linux tar.bz2 /usr/src/ cd /usr/src/ tar jxvf linux tar.bz2 Criar o link simbólico: ln -s /usr/src/linux /usr/src/linux Fazer o download do patch 17 a ser aplicado no Kernel Linux do site oficial do openmosix e descompactá-lo diretório correto: bunzip2 openmosix bz2 mv openmosix /usr/src/linux/ O código fonte do kernel já está, juntamente com o patch apropriado, dentro do diretório correto. Agora, antes de aplicar o patch no kernel, é necessário retirar do código fonte do kernel tudo que não for necessário para a compilação, com os seguintes comandos: cd /usr/src/linux/ make clean make mrproper E copiar uma configuração básica para o kernel: cp arch/i386/defconfig.config E então aplicar o patch de modificação: Gestão & Conhecimento, v. 4, n.1, jan./jun

16 Kaminski, André Ávila cat openmosix patch -Np1 Este último comando não deverá retornar erro algum. Se algum erro ocorrer, verifique se a versão do kernel e do patch são as mesmas citadas acima. Neste ponto está efetuada a modificação no código fonte do Kernel Linux. Isto modificou cerca de 3% do código fonte, acrescentando algumas entradas para que seja possível a correta compilação do kernel com suporte à todas as funcionalidades do openmosix. O próximo passo é selecionar no kernel o que for necessário e terminar a compilação. Deve-se ter em mente que o processo deverá ser efetuado em cada nó do cluster, pois cada um deles necessita de um kernel apropriado para ser hardware, a não ser que todas as máquinas do cluster tenhas exatamente a mesma configuração. O próximo comando para acessar a interface de configuração do kernel é: cd /usr/src/linux make menuconfig Uma interface com todas opções do kernel Linux é aberta, possibilitando a ativação do hardware necessário para uma boa compilação. Pode-se observar uma entrada openmosix na primeira linha, a qual não estaria presente se o patch não tivesse sido aplicado. É necessário que no kernel estejam presentes no mínimo as seguintes configurações: Na entrada openmosix, para habilitar o suporte à cluster: openmosix process migration support Stricter security on openmosix ports (3) Level of process-identity disclosure Poll/Select exceptions on pipes Deve ser escolhido o processador certo na entrada Processor type and features para suporte ao processador do nó em questão Gestão & Conhecimento, v. 4, n.1, jan./jun

17 Na entrada Block devices, para suporte à comunicação entre trabalhos cliente X servidor sobre rede TCP/IP: Network block device support Deve ser escolhido o modelo da placa de rede do nó em questão na entrada Network device support Na entrada File systems devem ser selecionados todos os sitemas de arquivos que estejam presentes no sistema operacional do nó em questão Deve-se gravar as configurações e sair da interface. Basicamente é isso que deve estar no kernel. É aconselhável não colocar nada que não seja necessário, para maior performance do sistema. Agora, depois de ter configurado o kernel para ser compilado com suporte à todas as necessidades, já é possível começar a compilação do kernel para a máquina utilizando o gcc versão 3.3.2, com os comandos: make CC= /usr/local/bin/i686-pc-linux-gnu-gcc dep make CC= /usr/local/bin/i686-pc-linux-gnu-gcc bzimage make CC= /usr/local/bin/i686-pc-linux-gnu-gcc modules make CC= /usr/local/bin/i686-pc-linux-gnu-gcc modules_install Se nenhum erro ocorrer, o kernel já deverá estar compilado neste momento, e deve ser copiado para o diretório /boot : cp arch/i386/boot/bzimage /boot/kernel om1 Neste ponto só falta configurar o loader. No caso está sendo utilizado o GRUB 18, então: Gestão & Conhecimento, v. 4, n.1, jan./jun

18 Kaminski, André Ávila vi /boot/grub/menu.lst E adiciona as entradas necessárias para o sistema bootar pelo novo kernel openmosix: Ao reiniciar o sistema pelo novo kernel, se for necessário fazer alguma mudança, é só adicionar ou remover as entradas na configuração do kernel (make menuconfig) e repetir os passos posteriores, deixando o kernel exatamente como o nó precisa para correto funcionamento. O processo deve ser repetido para cada um dos nós. 6. EXECUTANDO OS TESTES Para demonstrar o funcionamento do cluster openmosix, formado pelos nós N1 e N2, utilizou-se um shell script (teste-om.sh) elaborado com a função de testar a velocidade de processamento do cluster, que dispara cinco vezes outro shell script (stress-test.sh) com o comando awk que eleva o processamento do nó ao máximo, chegando a utilizar 100% da CPU dos nós. O nó utilizado para rodar o script foi o nó N1, que tem menor poder de processamento, já para demonstrar a migração dos processos para o nó N2, uma máquina maispotente. O tempo de processamento do script inicialmente sera medido rodando apenas no nó N1, com o cluster desativado, sendo comparado com o tempo obtido com o cluster ativado, rodando o nó N1 e o nó N2. Abaixo estao listados os comandos de cada shell script utilizado para testar o cluster: - Shell script teste-om.sh #!/bin/bash #por Andre Kaminski 18 Gestão & Conhecimento, v. 4, n.1, jan./jun

19 echo 'Iniciando teste do openmosix' date "+%Hh %Mm %Ss"./stress-test.sh &./stress-test.sh &./stress-test.sh &./stress-test.sh &./stress-test.sh date "+%Hh %Mm %Ss" echo 'Final do teste do openmosix' - Shell script stress-test.sh #!/bin/bash awk 'BEGIN {for (i=0;i<10000;i++)for(j=0;j<10000;j++);}' No primeiro script pode-se observar cinco chamadas para o segundo, que por sua vez pode ser modificado para conseguir um maior processamento do(s) nó(s) do cluster. O tempo inicial e final do script também são demonstrados, com a finalidade de medir quanto tempo foi necessário para rodar o script apenas no nó N1, com o cluster desativado, e também nos nós N1 e N2, com o cluster ativado, para posteriormente serem comparados e demonstrar a funcionalidade do openmosix. Foram elaborados cinco testes com o openmosix ativado e cinco testes com o openmosix desativado, para obter-se a media dos resultados. O resultado, com o cluster desativado, rodando no nó N1, ficou registrado no arquivo texto n1.txt, e está listado abaixo. Testes com o cluster openmosix desativado: Iniciando teste do openmosix 00h 46m 52s 00h 49m 13s Final do teste do openmosix Iniciando teste do openmosix 00h 49m 57s 00h 52m 15s Final do teste do openmosix Gestão & Conhecimento, v. 4, n.1, jan./jun

20 Kaminski, André Ávila Iniciando teste do openmosix 00h 52m 22s 00h 54m 43s Final do teste do openmosix Iniciando teste do openmosix 00h 54m 56s 00h 57m 14s Final do teste do openmosix Iniciando teste do openmosix 00h 57m 18s 00h 59m 37s Final do teste do openmosix Organizando os resultados obteve-se a Tabela 01 abaixo relacionada: TABELA 01 - RESULTADO DOS TESTES COM CLUSTER DESATIVADO - inicio fim total (s) Teste 01 00h 46m 00h 49m 141s 52s 13s Teste 02 00h 49m 00h 52m 138s 57s 15s Teste 03 00h 52m 00h 54m 141s 22s 43s Teste 04 00h 54m 00h 57m 138s 56s 14s Teste 05 00h 57m 00h 59m 139s 18s 37s Media ,4s O tempo de processamento do script variou entre 138 segundos e 141 segundos, obtendo-se uma média de 139,4 segundos. Pode-se observar que o tempo de processamento nos cinco testes efetuados com o cluster openmosix desativado não tiveram uma variação muito considerável, isso demonstra que não houveram problemas durante nenhum dos testes. Nos testes efetuados com o cluster openmosix ativados percebe-se uma grande diferenca nos resultados. O arquivo texto n1+n2.txt, abaixo listado mostra a saida dos resultados obtidos. Testes com o cluster openmosix ativado: Iniciando teste do openmosix Gestão & Conhecimento, v. 4, n.1, jan./jun

Cluster HPC High Performance Computing.

Cluster HPC High Performance Computing. Faculdade de Tecnologia de Guaratinguetá. doze, março de 2009. Cluster HPC High Performance Computing. Diogo Salles, Thiago Pirro, Camilo Bernardes, Paulo Roberto, Ricardo Godoi, Douglas, Fauzer. Sistemas

Leia mais

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução

Resumo. Introdução Cluster Cluster Beowulf Curiosidades Conclução Cluster Resumo Introdução Cluster Cluster Beowulf Curiosidades Conclução Introdução Sua empresa esta precisando fazer um grande processamento; As Nuvens existentes não são suficientes para sua empresa;

Leia mais

Estudo em Terminais Leves como nós de um Cluster

Estudo em Terminais Leves como nós de um Cluster Estudo em Terminais Leves como nós de um Cluster Guilherme Arthur Geronimo February 27, 2007 Abstract Now days, with the improve of the communication networks, more we are using the remote access technology

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

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 4 - CLUSTER DE COMPUTADORES 1. INTRODUÇÃO Grande parte do tempo, os computadores que utilizamos encontram-se ociosos, ou seja, sem nada para processar. Isso se deve, em grande parte, pelas aplicações

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos

Capítulo 8. Sistemas com Múltiplos Processadores. 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos Capítulo 8 Sistemas com Múltiplos Processadores 8.1 Multiprocessadores 8.2 Multicomputadores 8.3 Sistemas distribuídos 1 Sistemas Multiprocessadores Necessidade contínua de computadores mais rápidos modelo

Leia mais

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM.

hvbacellar@gmail.com Palavras-chave Cluster; Beowulf; OpenMosix; MPI; PVM. Cluster: Computação de Alto Desempenho Hilário Viana Bacellar Instituto de Computação, Universidade Estadual de Campinas Av. Albert Einstein 1251, Cidade Universitária, CEP 13083-970 Campinas, SP, Brasil

Leia mais

Computação de Alta Perfomance com Software Livre (Clusters)

Computação de Alta Perfomance com Software Livre (Clusters) Computação de Alta Perfomance com Software Livre (Clusters) 3º Seminário de Tecnologia da Informação UCSal Marcelo Soares Souza (marcelo@cebacad.net) CEBACAD Centro Baiano de Computação de alto Desempenho

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Processamento Distribuído em Cluster do Tipo Beowulf

Processamento Distribuído em Cluster do Tipo Beowulf UNIVERSIDADE ESTADUAL PAULISTA JULIO DE MESQUITA FILHO FACULDADE DE TECNOLOGIA DA BAIXADA SANTISTA DEPARTAMENTO DE INFORMÁTICA GESTÃO DE NEGÓCIOS Processamento Distribuído em Cluster do Tipo Beowulf ALEXANDRE

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

Introdução a Computação Paralela e a Montagem de Clusters.

Introdução a Computação Paralela e a Montagem de Clusters. Introdução a Computação Paralela e a Montagem de Clusters. Marcelo Souza (marcelo@cebacad.net) Granduando em Sistema da Informação CEBACAD Centro Baiano de Computação de alto Desempenho Introdução a Computação

Leia mais

Profs. Deja e Andrei

Profs. Deja e Andrei Disciplina Sistemas Distribuídos e de Tempo Real Profs. Deja e Andrei Sistemas Distribuídos 1 Conceitos e Projetos de Sistemas Distribuídos Objetivos: Apresentar uma visão geral de processamento distribuído,

Leia mais

Capítulo 8 Arquitetura de Computadores Paralelos

Capítulo 8 Arquitetura de Computadores Paralelos Capítulo 8 Arquitetura de Computadores Paralelos Necessidade de máquinas com alta capacidade de computação Aumento do clock => alta dissipação de calor Velocidade limitada dos circuitos => velocidade da

Leia mais

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

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

Leia mais

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

APLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 6 - ALGORÍTIMOS PARALELOS MPI - Parallel Virtual Machine e PVM - Parallel Virtual Machine 1. INTRODUÇÃO Inicialmente é necessário conceber alguns conceitos para entendimento dos algoritmos paralelos:

Leia mais

4 Computação Paralela 4.1. Introdução

4 Computação Paralela 4.1. Introdução 4 Computação Paralela 4.1. Introdução Nos últimos anos observa-se uma tendência cada vez maior do aumento da demanda computacional na resolução de grandes problemas. Exemplos de aplicações que exigem alto

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

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

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

Programação Concorrente Processos e Threads

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

Leia mais

Introdução às arquiteturas paralelas e taxonomia de Flynn

Introdução às arquiteturas paralelas e taxonomia de Flynn Introdução às arquiteturas paralelas e taxonomia de Flynn OBJETIVO: definir computação paralela; o modelo de computação paralela desempenhada por computadores paralelos; e exemplos de uso da arquitetura

Leia mais

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro

Sistemas Operacionais Carlos Eduardo Portela Serra de Castro Introdução Sistemas Operacionais 1 Sistema Operacional: Um conjunto de programas, executado pelo computador como os outros programas. Função: Controlar o funcionamento do computador, disponibilizando seus

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

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

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

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

Objetivos do Curso. Organização do Curso. Apresentação do Curso. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Objetivos do Curso. Organização do Curso. Apresentação do Curso. Pós Graduação em Projeto e Gerencia de Redes de Computadores 1 Pós Graduação em Projeto e Gerencia de Redes de Computadores Sistemas Operacionais de Redes I - Linux Prof.: Nelson Monnerat Apresentação do Curso 1 Objetivos do Curso Sistema Operacional Unix/Linux;

Leia mais

Comparação SDs X Scs

Comparação SDs X Scs Prof. Alexandre Lima Sistemas Distribuídos Cap 9 1/7 Comparação SDs X Scs Distribuição inerente Economia Velocidade Confiabilidade Crescimento incremental Descrição Algumas aplicações envolvem máquinas

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

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

Computação em cluster

Computação em cluster Computação em cluster Por Marcos Pitanga em 30 de maio de 2003 Introdução Este artigo tem por finalidade dar ao leitor uma visão mais integrada do que vem a ser a computação em cluster e como esta a cada

Leia mais

Supercomputadores dominavam o mercado

Supercomputadores dominavam o mercado Clusters e Grids Introdução Supercomputadores dominavam o mercado Alto custo Requerem mão de obra muito especializada Desenvolvimento de microprocessadores poderosos a um baixo custo Desenvolvimento de

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

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

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação

Maestro. Arthur Kazuo Tojo Costa 317497. Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Maestro Arthur Kazuo Tojo Costa 317497 Universidade Federal de São Carlos Campus Sorocaba Bacharelado em Ciência da Computação Introdução Sistema Operacional de Redes Detalhes do hardware Multiplexação

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

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Software em Sistemas Distribuídos Aplicativo ou Sistema Operacional Sincronismo Interação Controles Um sistema operacional moderno provê dois serviços fundamentais para o usuário

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

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

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

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

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br

Sistemas Distribuídos Conceitos HW e SW. Edeyson Andrade Gomes www.edeyson.com.br Sistemas Distribuídos Conceitos HW e SW Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Roteiro da Aula Conceitos de Hardware Conceitos de Software Combinações de SW e HW 3 Sistemas Distribuídos

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

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

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts)

Gerência de Redes de Computadores. 05 Gerência de Hospedeiros (Hosts) Gerência de Redes de Computadores 05 Gerência de Hospedeiros (Hosts) UFCG / DSC / JPS * 05 GERÊNCIA DE HOSPEDEIROS 1 TIPOS DE HOSPEDEIROS DOIS TIPOS DE HOSPEDEIROS o Servidores o Estações Clientes HÁ GRANDE

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

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

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

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

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 4 - INTRODUÇÃO A SUPERCOMPUTAÇÃO 1. INTRODUÇÃO Atualmente cientistas brasileiros usam supercomputadores para pesquisar desde petróleo até mudanças climáticas. Um grande exemplo é o supercomputador

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

Desenvolvimento de um Cluster de Alto Desempenho com PVM

Desenvolvimento de um Cluster de Alto Desempenho com PVM Desenvolvimento de um Cluster de Alto Desempenho com PVM Daniel Cândido de Oliveira 1, Yzaac Gonçalves da Silva 1, Madianita Bogo 1 1 Centro Universitário Luterano de Palmas Universidade Luterana do Brasil

Leia mais

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

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

Leia mais

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

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

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Processos e Threads Andreza Leite andreza.leite@univasf.edu.br Plano de Aula 2 Gerenciamento de Processos Threads Aplicações com múltiplas Threads Concorrência e Compartilhamento

Leia mais

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software www.arandasoft.com [1]

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software www.arandasoft.com [1] Todos los derechos reservados Aranda Software www.arandasoft.com [1] Introdução O Agente Aranda para sistemas Linux se encarrega de coletar as seguintes informações em cada uma das estações de trabalho

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

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº 11903. Representação artística do núcleo Linux

Kernel Linux. Trabalho Realizador Por: Tiago Conceição Nº 11903. Representação artística do núcleo Linux Kernel Linux Representação artística do núcleo Linux Trabalho Realizador Por: Tiago Conceição Nº 11903 Índice Introdução...2 O que é o Kernel...3 Como surgiu...4 Para que serve...5 Versões...6 Versões

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

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

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

Leia mais

6 - Gerência de Dispositivos

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

Leia mais

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

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

Leia mais

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

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

ARQUITETURA TRADICIONAL

ARQUITETURA TRADICIONAL INTRODUÇÃO Atualmente no universo corporativo, a necessidade constante de gestores de tomar decisões cruciais para os bons negócios das empresas, faz da informação seu bem mais precioso. Nos dias de hoje,

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

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

Escalonamento no Linux e no Windows NT/2000/XP

Escalonamento no Linux e no Windows NT/2000/XP Escalonamento no Linux e no Windows NT/2000/XP 1 Escalonamento no Linux Os requisitos do escalonador do Linux eram: Apresentar boa performance em programas interativos, mesmo com carga elevada; Distribuir

Leia mais

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias

Sistemas Operacionais. Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias Sistemas Operacionais Microsoft Windows R Patrícia Megumi Matsumoto Luciana Maria Gregolin Dias Histórico Início da década de 80 MS-DOS (vai evoluindo, mas sem nunca deixar de ser um SO orientado à linha

Leia mais

Figura 01 Kernel de um Sistema Operacional

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

Leia mais

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

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

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

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

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 4 Tipos de SO Prof.: Edilberto M. Silva http://www.edilms.eti.br SO - Prof. Edilberto Silva Os Sistemas Operacionais podem ser assim classificados: SO - Prof. Edilberto Silva

Leia mais

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Disciplina: Gerenciamento de Rede de Computadores : Goiânia, 16 de novembro de 2014. Faculdade de Tecnologia SENAC Goiás Professor: Marissol Martins Alunos: Edy Laus,

Leia mais

Sistemas Operacionais Distribuídos e Multiprocessados

Sistemas Operacionais Distribuídos e Multiprocessados Tópicos em Sistemas Operacionais Sistemas Operacionais Distribuídos e Multiprocessados Por André Macedo, Marcelo Moraes, Thaís Fernandes Sumário Teoria: Sistemas Multiprocessados Estudo de caso:k42 Teoria:

Leia mais

Computação Distribuída de Alto Desempenho. Marcelo Giovani M Souza mgm@cbpf.br

Computação Distribuída de Alto Desempenho. Marcelo Giovani M Souza mgm@cbpf.br Computação Distribuída de Alto Desempenho Marcelo Giovani M Souza mgm@cbpf.br 1 *Exemplos de Tipos Clusters *O Cluster do CBPF *Estudos futuros 2 *Cluster do CBPF -Hardware -Sistema e ferramentas -Formas

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

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro

Sistemas MIMD. CES-25 Arquiteturas para Alto Desmpenho. Paulo André Castro Sistemas MIMD Arquiteturas para Alto Desmpenho Prof. pauloac@ita.br Sala 110 Prédio da Computação www.comp.ita.br/~pauloac Arquiteturas Paralelas (SISD) Single Instruction Stream, Single Data Stream: Monoprocessador

Leia mais

Capítulo 8 - Aplicações em Redes

Capítulo 8 - Aplicações em Redes Capítulo 8 - Aplicações em Redes Prof. Othon Marcelo Nunes Batista Mestre em Informática 1 de 31 Roteiro Sistemas Operacionais em Rede Modelo Cliente-Servidor Modelo P2P (Peer-To-Peer) Aplicações e Protocolos

Leia mais

Sistemas de Informação Processamento de Dados

Sistemas de Informação Processamento de Dados Sistemas de Informação Processamento de Dados Ferramentas e serviços de acesso remoto VNC Virtual Network Computing (ou somente VNC) é um protocolo desenhado para possibilitar interfaces gráficas remotas.

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Relatório de teste em Ambiente de Cluster OpenVMS

Relatório de teste em Ambiente de Cluster OpenVMS Compaq OpenVMS e Digital Networks Relatório de teste em Ambiente de Cluster OpenVMS 14 de agosto de 2001 1 Resumo executivo Testes foram realizados com equipamentos Digital Networks (DNmultilayer 1200

Leia mais

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com

Cloud Computing. Andrêza Leite. andreza.lba@gmail.com Cloud Computing Andrêza Leite andreza.lba@gmail.com Roteiro O que é cloud computing? Classificação O que está 'por traz' da cloud? Exemplos Como montar a sua? O que é cloud computing? Cloud Computing O

Leia mais

Softwares de Sistemas e de Aplicação

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

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa

Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa Gerenciamento de sistemas GNU/Linux: do computador pessoal à rede corporativa Daniel Weingaertner Departamento de Informática UFPR Centro de Computação Científica e Software Livre C3SL Programa de Extensão

Leia mais

Sistema Operacional LINUX

Sistema Operacional LINUX SISTEMA OPERACIONAL Sistema Operacional LINUX Para que o computador funcione e possibilite a execução de programas é necessária a existência de um sistema operacional. O sistema operacional é uma camada

Leia mais

Arquitetura de Computadores. Professor: Vilson Heck Junior

Arquitetura de Computadores. Professor: Vilson Heck Junior Arquitetura de Computadores Professor: Vilson Heck Junior Agenda Conceitos Estrutura Funcionamento Arquitetura Tipos Atividades Barramentos Conceitos Como já discutimos, os principais componentes de um

Leia mais

Arquitetura de Sistemas Operacionais Machado/Maia. Arquitetura de Sistemas

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

Leia mais

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br Sistemas Operacionais Alexandre Meslin meslin@inf.puc-rio.br Ementa Apresentação do curso Cap1 - Visão Geral Cap2 - Conceitos de Hardware e Software Cap3 - Concorrência Cap4 - Estrutura do Sistema Operacional

Leia mais

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos

Módulo 4: Processos. Conceito de Processo. Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos Módulo 4: Processos Conceito de Processo Escalonamento de processos Operações sobre processos Processos cooperantes Comunicação entre processos 4.1 Conceito de Processo Um Sistema Operacional executa uma

Leia mais