Análise de softwares para Memória Compartilhada Distribuída

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

Download "Análise de softwares para Memória Compartilhada Distribuída"

Transcrição

1 Análise de softwares para Memória Compartilhada Distribuída Marcelo Trindade Rebonatto 1, Rodrigo César de Moura 2 1 Curso de Ciência da Computação, Instituto de Ciências Exatas e Geociências Universidade de Passo Fundo BR 285 Km 171, Campus I Bairro São José 2 Curso de Ciência da Computação Universidade de Passo Fundo ABSTRACT: This work presents a study about Distributed Shared Memory Software. The study about distributed shared memory shows how is the systems DSM and shared data s structure. The softwares TreadMarks, Millipede, Quarks, Shasta, CVM, CRL, Cilk, JIAJIA and Filaments were studied, but just JIAJIA and Filaments were installed and tested. After, it is presented a part with JIAJIA and Filaments results containing graphs and tables showing information like sequential time, parallel time, speedup and efficiency. RESUMO: Este trabalho apresenta um estudo sobre softwares de memória compartilhada distribuída (SDSM Software Distributed Shared Memory). O estudo sobre memória compartilhada distribuída mostra como é a estrutura de um sistema DSM e dos dados compartilhados. Foram estudados os softwares TreadMarks, Millipede, Quarks, Shasta, CVM, CRL Cilk, JIAJIA e Filaments, sendo que os 2 últimos foram instalados e testados. Ao final, apresenta-se a parte de resultados obtidos com JIAJIA e Filaments com gráficos e tabelas mostrando informações como tempo seqüencial, tempo paralelo, speedup e eficiência. 1 Introdução No princípio do uso dos sistemas distribuídos, assumia-se implicitamente que processos em máquinas com memória distribuída executavam em espaço de endereçamento separados, sendo que a comunicação entre tais processos era vista como troca de mensagens. Então, Kai Li [LI, 1986] propôs um esquema conhecido como Distributed Shared Memory (DSM), ou seja, memória compartilhada distribuída. Li e Rudak propuseram um conjunto de estações de trabalho conectadas por uma LAN (Local Area Network) compartilhando um espaço de endereçamento virtual [LI & RUDAK, 1989]. Na variação mais simples, cada página de memória é representada em exatamente uma máquina. Referências a páginas locais são feitas em hardware, na velocidade da memória. Já referências a páginas de máquinas diferentes podem causar falha de página (page fault). O sistema operacional então fica encarregado de enviar uma mensagem para a máquina remota, que encontra a página necessária e a envia para o processo que a requisitou. Qualquer processador pode acessar diretamente qualquer posição do espaço de endereçamento virtual compartilhado. Os gerenciadores de memória do mecanismo de DSM implementam o mapeamento entre a memória local e o espaço de endereçamento

2 compartilhado. Para esses gerenciadores, a memória local de um processador é considerada como uma grande cache no espaço de endereçamento compartilhado. A Figura 1 ilustra a estrutura básica de um sistema DSM. A organização básica não é muito diferente de um multicomputador que utiliza troca de mensagens. Como se pode ver na figura, geralmente envolve um conjunto de nodos ou clusters conectados por uma rede de interconexão escalável. FIGURA 1 Estrutura de um Sistema DSM O espaço global de endereçamento compartilhado é divido em blocos, para que os dados possam ser manipulados pelo sistema de forma mais eficaz. Esse bloco de dados manipulado é chamado de unidade de coerência. Se um sistema DSM tem seu espaço de endereçamento compartilhado organizado em páginas, a unidade de coerência é a página; caso o sistema DSM for baseado em objetos, a unidade de coerência é o objeto. Duas estratégias utilizadas para distribuição dos dados compartilhados são a migração e a replicação. A migração implica que somente uma cópia de um item de dado exista no sistema, portanto, os itens de dados são movidos sob demanda para uso exclusivo. Já a replicação permite que várias cópias do mesmo dado residam em diferentes nodos, predominantemente quando o compartilhamento de leitura prevalece. Replicar os dados alcança melhor desempenho para uma grande quantidade de aplicações [STUMM & ZHOU, 1998]. Sistemas DSM fazem uso de replicação de dados para permitir acesso concorrente. No entanto, é fundamental manter estas cópias com a mesma informação, impedindo que um nodo acesse dados desatualizados. Para a manutenção da coerência de réplicas existem duas estratégias básicas: Protocolo de invalidação: uma escrita em um dado compartilhado causa a invalidação de todas as suas cópias, que passam a ser inacessíveis; Protocolo de atualização: uma escrita em um dado compartilhado causa a atualização de todas as suas cópias. É mais complicado que o protocolo de invalidação, pois a cada operação de escrita um novo valor deve ser enviado ao invés de uma mensagem de notificação. A escolha da política de coerência está relacionada com a granulosidade da unidade de coerência. Para grãos muito pequenos uma mensagem de atualização custa aproximadamente o mesmo que uma mensagem de invalidação. Por outro lado, sistemas

3 com grãos grandes utilizam invalidação, sendo esta proposta eficiente quando as seqüências de acessos e leituras e escritas ao mesmo item de dado por vários processadores são esparsas. 2 Softwares de Memória Compartilhada Distribuída Como o gerenciamento de DSM é usualmente suportado através da memória virtual, grãos de memória de grande tamanho (na ordem de Kbytes) são típicos de soluções de software. As soluções em software tendem a usar itens de dados que representem entidades lógicas, com o objetivo de alcançar as vantagens de localidade inerentes às aplicações. Por outro lado, as soluções em hardware lidam com objetos de dados não estruturados [TANEMBAUN, 1995]. Suporte de DSM por software é geralmente mais flexível do que suporte por hardware e habilita um melhor condicionamento dos mecanismos de consistência ao comportamento da aplicação [ARAUJO, 1999]. Neste trabalho foram estudados alguns sistemas de DSM implementados por software, os quais serão apresentados a seguir: TreadMarks: é implementado inteiramente como biblioteca a nível de usuário. Funciona no sistema operacional Unix sem exigir modificações no kernel, pois as implementações atuais do Unix fornecem todas as primitivas de comunicação e funções para gerenciamento de memória necessárias para a implementação do TreadMarks [ZWAENEPOEL, 2001]. TreadMarks roda em IBM, DEC, SUN, HP, x86 (rodando FreeBSD 2.1R ou Linux Slackware 3.0) e hardware SGI. Treadmarks tem um custo de US$1000,00 (mil) dólares para ser usado (há possibilidade de uma cópia livre por 30 dias para o uso em instituições com a finalidade de pesquisa); Millipede: permite a implementação de uma grande variedade de linguagens de programação paralela [TECHNION, 2001] bem como vários paradigmas de comunicação e sincronização. O ambiente virtual escolhido assemelha-se ao ambiente multi thread dos multiprocessadores simétricos (SMP). Millipede roda nos sistemas operacionais Windows NT 4.0 ou Windows Executa em até 8 PCs sendo que cada um precisa de 128 MB de memória RAM instalada. Além disso, alguns softwares adicionais precisam ser instalados: Fast Messages, HPVM (versão 1.0) e Visual C++ 6.0, usado para compilar aplicações construídas com o Millipede; Quarks: fornece um ambiente onde podem ser declaradas regiões abertas (compartilhadas) e fechadas. Um processo master é criado no início da aplicação, este por sua vez cria as regiões, inicializa os dados compartilhados e aloca as primitivas de sincronização. A partir daí o processo master ramifica-se em processos filhos. No final do ciclo de computação, os processos filhos comunicam o término ao processo master. Esse ciclo fork/join é uma computação tão pesada que são necessários grandes grãos para seu bom funcionamento [UNIVERITY OF UTAH, 2001]. O pacote Quarks roda em SunOS 4.1/SPARC, HP-UX/PA-RISC, máquinas IRIX 5.2/MIPS, e máquinas 4.3BSD/M68k; Shasta: implementa o espaço de endereçamento compartilhado reescrevendo a aplicação executável para interceptar loads e stores. Para cada load ou store compartilhado, o código inserido checa se o dado está disponível localmente no estado correto e se comunica, se necessário, com outro processador [WESTERN RESEARCH LABORATORY, 2001]. É projetado para rodar eficientemente em

4 clusters de SMPs permitindo que processos no mesmo SMP compartilhem dados diretamente através do hardware; Cilk: é uma linguagem baseada em ANSI C com suporte a múltiplos processos. A teoria utilizada por Cilk é que o programador deve concentrar-se em estruturar o programa com o objetivo de expor o paralelismo e explorar a localidade, deixando os sistemas em tempo de execução com a responsabilidade de programar a computação para executar eficientemente [MIT LCS SUPERTECH GROUP, 2001] na plataforma em questão. O pacote Cilk roda em sistemas UNIX que suportem processos POSIX, particularmente, em sistemas GNU sobre o kernel do Linux e propõe integração com as ferramentas de desenvolvimento do Linux. Cilk roda em Linux/386. Linux/Alpha, Linux/IA-64, Solaris/SPARC, Irix/MIPS e OSF/Alpha. Deve-se possuir uma versão do gcc 2.8.x (ou superior) e egcs-1.1. Além disso, necessita de uma implementação de threads POSIX com glibc-2.1; CVM Coherent Virtual Machine: é uma biblioteca em nível de usuário ligada a programas de memória compartilhada [KELEHER, 1996]. O sistema CVM foi escrito em C++, sua base fornece um conjunto de classes que implementam um protocolo genérico, processos leves e rede de comunicação. CVM roda na maioria dos sistemas tipo UNIX, preferencialmente nas seguintes plataformas: Sparcs rodando SunOS 4.1, Sparcs rodando SunOS 5.5 (Solaris 4.0), IBM SP2 rodando AIX 4.1 e DEC Alpha Workstations rodando Digital Unix 3.2D-1; CRL C Region Library: compartilha dados através de regiões onde cada região é arbitrariamente dimensionada em áreas contíguas de memória. O programador define regiões e inclui anotações para delimitar o acesso. As regiões são cacheadas nas memórias locais dos processadores. Antes de acessar uma região o processador deve mapeá-la no espaço de endereçamento local. Ele recebe um identificador de região como argumento e retorna um ponteiro para a base da área de dados da região [JOHNSON, 2001]. O software pode ser usado em: Máquina Alewife do MIT, CM- 5 Thinking Machine, Workstations Sun rodando SunOS 4.1.3, TCP/Unix (implementação não projetada para alta performance). O CRL requer PVM (Parallel Virtual Machine) instalado em todas as máquinas que vão rodar os programas; JIAJIA: É um software que utiliza protocolo de coerência de cache baseado em lock para consistência de entrada. Este protocolo elimina totalmente diretórios e todas as ações relacionadas com coerência através de notícias de escritas (são mantidas no lock). Comparado ao protocolo baseado em diretório, o protocolo baseado em lock é mais simples e, conseqüentemente, mais eficiente e escalável [HU; SHI & TANG, 1999]. O software combina as memórias físicas de múltiplos processadores para formar um grande espaço compartilhado, onde cada página compartilhada tem seu nodo-inicial e os inicias das páginas compartilhadas são distribuídas através dos hosts. Com essa organização de memória, o tamanho do espaço compartilhado pode ser tão grande quanto a soma da memória local de cada máquina. O software JIAJIA roda em sistemas operacionais com base no Unix. A versão mais recente do pacote pode rodar em: Solaris 2.4, AIX 4.1, Linux 2.0 e SunOS 4.1; Filaments: Permite a escrita de programas paralelos usando um processo para cada unidade independente de trabalho e uma memória compartilhada global. Suporta um espaço de endereçamento global através de um software de memória compartilhada

5 distribuída, sendo similar a outros softwares DSM implementados sobre Unix utilizando chamadas de sistemas e sockets. Muitos filamentos podem executar em cada nodo, permitindo que a latência de falta de páginas seja aliviada [LOWENTHAL & FREEH, 1998]. Usa o modelo computacional SPMD, em que cada nodo executa o mesmo código mas referencia um diferente subconjunto de elementos de dados, isso significa que todos os filamentos de um mesmo nodo executam o mesmo código. O sistema TreadMarks não é gratuito, Millipede, Quarks e Shasta são gratuitos, porém não possuem implementações para o sistema operacional Linux usado nesse trabalho. O pacote Cilk apresentou erros na instalação que não foram possíveis de serem solucionados. Contatos via com os produtores do software ou não retornaram ou não solucionaram o problema. O software CVM é disponibilizado através de contato via ao responsável pelo projeto, porém após a mensagem enviada o software não foi remetido. Por fim, o pacote CRL possui implementação para sistemas do tipo Unix, apenas para Solaris. O sistema JIAJIA e o sistema Filaments foram instalados e testados. A Tabela 1 apresenta um comparativo entre todos os softwares DSM estudados durante o trabalho. Ela contém informações sobre a licença do software, as linguagens que suporta, os sistemas operacionais disponíveis e o modelo de consistência utilizado. Tabela 1 Comparativo entre os SDSM Nome Custo Linguagem S.O. MP* Cilk Livre C Linux, Solaris, Irix e OSF. Objetos compartilhados Filaments Livre C Linux, Solaris e Irix Variáveis compartilhadas CVM Livre C SunOS 4.1 e 5.5, AIX 4.1,Digital Variáveis Unix 3.2D-1 compartilhadas CRL Livre C SunOS 4.1.3, Unix Regiões JIAJIA Livre C, Fortran Unix, Solaris 2.4, AIX 4.1, Linux 2.0, SunOS 4.1e Windows NT. Páginas TreadMarks $US1000 C, C++, Java e Fortran. FreeBSD 2.1R e Linux. Páginas Millipede Livre C,C++ Windows NT 4.0 e Windows Páginas Quarks Livre C, C++ SunOs 4.1, HP-UX, Irix 5.2. Regiões Shasta Livre Variáveis compartilhadas *Modelo de programação Para uma referência completa sobre Filaments, JIAJIA, CILK, CVM e CRL, incluindo instalação, compilação, execução de programas e estrutura de funções, deve-se consultar [MOURA, 2001]. 3 Resultados Obtidos Os softwares JIAJIA e Filaments foram instalados em dois ambientes distintos. O primeiro ambiente utilizou duas máquinas Intel Celeron de 500MHz com 64 MB de memória, sendo que uma delas realizou as tarefas de servidor de NFS. O sistema operacional utilizado foi o Conectiva Linux 6.0, utilizando kernel versão e compilador gcc de versão cl.

6 Na composição do segundo ambiente foram utilizadas as 16 máquinas Intel Celeron de 700MHz com 64MB de memória RAM. O S.O. utilizado foi o Beowulf (baseado em Linux) que possui kernel com versão e compilador gcc de versão Também foi usado o NFS, porém o servidor não pertencia ao ambiente. Com a finalidade de realização de testes, tanto de funcionamento como de desempenho das duas ferramentas instaladas, uma aplicação de multiplicação de matrizes foi desenvolvida utilizando cada uma. Para garantir que os resultados processados em paralelo pelas aplicações retornassem corretamente, foi executada uma versão seqüencial, sendo que partes da matriz resultante foram comparadas com as partes equivalentes dos programas paralelos. Os resultados obtidos apresentaram-se corretos, sendo que os valores dos tempos de execução mostrados são oriundos de 5 repetições. O software Filaments, quando testado no ambiente com 16 máquinas, apresentou os resultados mostrados na Figura 2, com uma matriz quadrada de ordem 160. Os testes foram realizados desde 1 processador, que é o programa seqüencial, até 16 processadores. Gráfico do tempo de execução com Filaments Tempo (s) , , , , Processadores FIGURA 2 Gráfico do tempo de execução do Filaments.com Matriz 160x160 Com a análise da figura 2, nota-se que o intervalo de tempo é muito grande. Isto é, com dois processadores o tempo de execução é de aproximadamente 0,3 segundos. Já em dezesseis processadores, o tempo de execução fica em aproximadamente 61,8 segundos, um tempo muito alto comparado com a execução em 2 máquinas. O software JIAJIA foi testado apenas no ambiente com duas máquinas, utilizando matrizes quadradas de ordem até 800. A Figura 3 mostra o gráfico do tempo de execução do JIAJIA. A figura 3 mostra que as linhas que representam o tempo seqüencial e o tempo paralelo quase chegam a se sobrepor nas matrizes 100x100 e 200x200. Na matriz 400x400 já pode ser observada uma diferenciação entre as linhas, e na matriz 800x800 a diferença é ainda maior, o que representa um ganho de paralelismo proporcional ao tamanho do grão.

7 Tempo (s) Gráfico do tempo de execução com JIAJIA 100x x x x800 Matriz Seqüencial Paralelo FIGURA 3 Gráfico do tempo de execução do JIAJIA Foi possível realizar testes com o Filaments e o JIAJIA no ambiente com 2 processadores com matrizes de tamanho até 200x200. A Tabela 2 apresenta uma comparação dos resultados obtidos com o JIAJIA e o Filaments utilizando dois processadores. TABELA 2 Comparação JAJIA e Filaments com 2 processadores Software Medida Matriz 100x100 Matriz200x200 Seqüencial C Tempo de execução 0, ,56621 Tempo de execução 0, , JIAJIA Speedup 0, , Eficiência 0, , Paralelo Tempo de execução 2, , Filaments Speedup 0, , Eficiência 0, , Conforme a Tabela 2, pode-se ver que o Filaments não obteve aceleração na execução das matrizes em paralelo. Ou seja, houve um retardo de tempo em relação ao programa seqüencial. Já o JIAJIA, confirmando os resultados das tabelas anteriores, obteve um bom desempenho. 4 Conclusões e trabalhos futuros Com o estudo dos SDSM, percebeu-se que alguns deles ainda são muito instáveis, pois no mesmo ambiente, houve uma grande diferença de desempenho entre os dois softwares instalados. Nota-se, também, uma diferença na facilidade de programação entre um e outro, sendo que o JIAJIA possui uma interface de programação mais enxuta e intuitiva que o Filaments. Como trabalhos futuros pode-se testar o funcionamento dos

8 sistemas em um maior número de processadores, já que só foi possível instalá-los em um ambiente com poucas máquinas. Além disso, é interessante um estudo comparativo entre os SDSM e os softwares de troca de mensagem, a fim de analisar a facilidade de instalação, programação e o desempenho. 5 Bibliografia ARAUJO, Edvar B. Um Estudo sobre Memória Compartilhada Distribuída. Trabalho Individual I PPGC URGS, Porto Alegre, HU, Weiwu; SHI, Weisong; TANG, Zhimin. JIAJIA User s Manual. Alberta: JOHNSON, Kirk. CRL version 1.0. Disponível em: < Acesso em: 29 abr KELEHER, Peter J. Coherent Virtual Machine (CVM). Disponível em: < Acesso em: 28 abr LI, Kai. Shared Virtual Memory on Loosely Coupled Multiprocessors. Dissertação de Ph.D. New Haven, Conn.: Dept. of Computer Science, Yale University, LI, Kai; HUDAK, Paul. Memory Coherence in Shared Virtual Memory Systems. ACM Transactions on Computer System, New York, v.7, n.4, Nov LOWENTHAL, David; FREEH, Vincent. Filaments Programmer s Manual. Georgia: MIT LCS SUPERTECH GROUP. The Cilk Project. Disponível em: <http://supertech.lcs.mit.edu/cilk>. Acessado em: 29 abr MOURA, Rodrigo Cesar de. Estudo sobre Softwares para Memória Compartilhada Distribuida Monografia (Graduação). Curso de Ciência da Computação, Universidade de Passo Fundo, Passo Fundo, STUMM, Michael & ZHOU, Songnian. Algorithms Implementing Distributed Shared Memory. In: PROTIC, Jelica et al. Distributed Sahred Memory: Concepts and Systems. Los Alanitos, California: IEEE Computer Society Press, TANEMBAUN, Andrew S. Distributed Operating Systems. New Jersey: Prentice Hall, TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY. Millipede Project Site. Disponível em: <http://www.cs.technion.ac.il/labs/millipede/>. Acesso em: 27 abr UNIVERSITY OF UTAH SCHOOL OF COMPUTING. Quarks - A Simple, Yet Efficient DSM System. Disponível em: <http://www.cs.utah.edu/flux/quarks.html>. Acesso em: 27 abr WESTERN RESEARCH LABORATORY. The Shasta Software Distributed Shared Memory System. Disponível em: <http://www.research.compaq.com/wrl/projects/shasta/index.html>. Acesso em: 29 abr ZWAENEPOEL, Willy. The TreadMarks Distributed Shared Memory (DSM) System. Disponível em: <http://www.cs.rice.edu/~willy/treadmarks/overview.html>. Acesso em: 20 abr

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

Sistemas Operacionais

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

Leia mais

BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES

BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES BANCO DE DADOS EM MEMÓRIA SOBRE CLUSTERS DE COMPUTADORES Guilherme Dal Bianco, Jeison Luiz Ferreira Vieira, Nelson Duarte Filho Fundação Universidade Federal do Rio Grande FURG Rio Grande - RS gui_bianco@yahoo.com.br,

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS 1. Introdução a supercomputação 2. Visão geral de Mainframe 3. Cluster de computadores 4. Cluster Beowulf considerações de projeto 5. Cluster x Grid 6.

Leia mais

Visão do Usuário da DSM

Visão do Usuário da DSM Memória Compartilhada Distribuída Visão Geral Implementação Produtos 1 Memória Compartilhada Distribuída Mecanismos tradicionais de comunicação via RPC/RMI ou mensagens deixam explícitas as interações

Leia mais

Introdução ao Sistema UNIX

Introdução ao Sistema UNIX Volnys & Midorikawa (c) 1 Introdução ao Sistema UNIX Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Edson Toshimi Midorikawa emidorik@lsi.usp.br http://www.lsi.usp.br/~emidorik Laboratório

Leia mais

Programação em Memória Compartilhada com OpenMP

Programação em Memória Compartilhada com OpenMP Programação em Memória Compartilhada com OpenMP Esbel Tomás Valero Orellana Bacharelado em Ciência da Computação Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz evalero@uesc.br

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

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

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

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

Sistema de Arquivos Distribuídos

Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos Sistema de Arquivos Distribuídos A interface cliente para um sistema de arquivos é composta por um conjunto de primitivas e operações em arquivos (criar, apagar, ler, escrever)

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

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES

ALGORÍTMOS PARALELOS (Aula 2) LCAD. Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES ALGORÍTMOS PARALELOS (Aula 2) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Programa do Curso LCAD 1. Introdução 2. Arquitetura de Computadores 3. Arquiteturas

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

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

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

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

Sobre a apresentação (About(

Sobre a apresentação (About( Capítulo 4: Threads Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por Cristiaino

Leia mais

Comparação de algoritmos paralelos em uma rede heterogênea de workstations

Comparação de algoritmos paralelos em uma rede heterogênea de workstations Comparação de algoritmos paralelos em uma rede heterogênea de workstations Marcelo T. Rebonatto, Marcos J. Brusso, Roberto Niche 1, Roni A. Dall Orsoletta 1 Universidade de Passo Fundo Instituto de Ciências

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

Mario Donato Marino 1, Geraldo Lino de Campos {mario,geraldo}@regulus.pcs.usp.br

Mario Donato Marino 1, Geraldo Lino de Campos {mario,geraldo}@regulus.pcs.usp.br Avaliação do Trafego de Rede no Sistema DSM Nautilus usando Atualizações: Relação entre o Número de Mensagens Trafegantes e o Tamanho Médio das Mensagens de Consistência Mario Donato Marino 1, Geraldo

Leia mais

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

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

Leia mais

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL

LINUX. Lapro I Profa. Fernanda Denardin Walker. - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL LINUX Lapro I Profa. Fernanda Denardin Walker - Aula 2 - Material adaptado de: Isabel Mansour, Marcia Moraes e Silvia Moraes SISTEMA OPERACIONAL Para que o computador funcione e possibilite a execução

Leia mais

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2)

Introdução. Definição de um Sistema Distribuído (1) Definição de um Sistema Distribuído(2) Metas de Sistemas Distribuídos (2) Definição de um Sistema Distribuído (1) Introdução Um sistema distribuído é: Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente. Definição de um Sistema

Leia mais

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos

Universidade Federal de Minas Gerais. Sistemas Operacionais. Aula 23. Sistemas Operacionais Distribuídos Aula 23 Distribuídos SOs de Rede Em sistemas operacionais de rede você sabe quando é local e quando é remoto. Assim, o trabalho não muda, com exceção de comandos para acesso remoto: - telnet - ftp - etc.

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

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

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

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

slide 0 Algoritmos Paralelos

slide 0 Algoritmos Paralelos slide 0 Algoritmos Paralelos Slide 2 Demanda por Velocidade Computational Demanda contínua por maior rapidez computational das máquinas que as atualmente disponíveis. As áreas que exigem maior rapidez

Leia mais

UNIX: Uma Breve Apresentação

UNIX: Uma Breve Apresentação Material Complementar EA869 (Prof. Von Zuben DCA/FEEC/Unicamp) 1 1. Introdução Este documento procura explorar os aspectos históricos envolvidos no desenvolvimento do sistema operacional UNIX com o objetivo

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

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

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

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

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

Curso Técnico de Nível Médio

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

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais SISTEMAS COM MÚLTIPLOS PROCESSADORES LIVRO TEXTO: CAPÍTULO 13, PÁGINA 243 Prof. Pedro Luís Antonelli Anhanguera Educacional INTRODUÇÃO Arquiteturas que possuem duas ou mais CPUs interligadas

Leia mais

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 6 - ARQUITETURAS AVANÇADAS DE COMPUTADORES 1. INTRODUÇÃO As arquiteturas dos processadores têm evoluído ao longo dos anos, e junto com ela o conceito de arquitetura avançada tem se modificado. Nos

Leia mais

Sistemas Operacionais I

Sistemas Operacionais I UFRJ IM - DCC Sistemas Operacionais I Unidade II - Threads 24/04/2014 Prof. Valeria M. Bastos 1 ORGANIZAÇÃO DA UNIDADE Threads Processos Threads Conceituação Descrição e Imagem de uma Thread Tipos de thread

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

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

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

Sistemas Operacionais

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

Leia mais

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

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

Leia mais

Linux. Guia do Administrador do Sistema. Rubem E. Ferreira. Novatec Editora Ltda. www.novateceditora.com.br

Linux. Guia do Administrador do Sistema. Rubem E. Ferreira. Novatec Editora Ltda. www.novateceditora.com.br Linux Guia do Administrador do Sistema Rubem E. Ferreira Novatec Editora Ltda. www.novateceditora.com.br 1 O início de tudo Entre os vários sistemas operacionais existentes, o Unix é um exemplo de maturidade

Leia mais

Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI

Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI Um Modelo Computacional Tolerante a Falhas para Aplicações Paralelas Utilizando MPI Oberdan R. Pinheiro 1, Josemar R. de Souza 1,2 1 Centro Integrado de Manufatura e Tecnologia (SENAI-CIMATEC) Salvador,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Carlos Ferraz cagf@cin.ufpe.br Tópicos da Aula Apresentação do curso Introdução Definição de sistemas distribuídos Exemplo Vantagens e desvantagens Convergência digital Desafios Visão

Leia mais

Sistemas Operacionais. Conceitos de um Sistema Operacional

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

Leia mais

VSObjects: Middleware para Gerenciamento de Objetos Virtualmente Compartilhados

VSObjects: Middleware para Gerenciamento de Objetos Virtualmente Compartilhados VSObjects: Middleware para Gerenciamento de Objetos Virtualmente Compartilhados Christiane V. Pousa, Dulcinéia O. da Penha, Carlos A. P. S. Martins Instituto de Informática/ Programa de Pós-Graduação em

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

ESTUDO DE CASO WINDOWS VISTA

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

Leia mais

da Disciplina Sumário BC1518 - Sistemas Operacionais Prof. Marcelo Z. do Nascimento Motivação Apresentação

da Disciplina Sumário BC1518 - Sistemas Operacionais Prof. Marcelo Z. do Nascimento Motivação Apresentação BC1518 - Sistemas Operacionais Apresentação da Disciplina Plano de trabalho 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Sumário Motivação Apresentação Programa

Leia mais

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt)

Sistemas Operativos. Princípios de sistemas operativos. Rui Maranhão (rma@fe.up.pt) Sistemas Operativos Princípios de sistemas operativos Rui Maranhão (rma@fe.up.pt) Agenda objectivos de um computador objectivos de um sistema operativo evolução dos sistemas operativos tipos de sistemas

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

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

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

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

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

Leia mais

Módulo 4: Processos. Conceito de Processo. Diagrama de Estados de Processos. Estados de Processo

Módulo 4: Processos. Conceito de Processo. Diagrama de Estados de Processos. Estados de Processo Módulo 4: Processos Conceito de Processo Conceito de Processo Escalonamento de Processos Operações com Processos Processos Cooperativos Comunicação entre Processos Um sistema operacional executa uma variedade

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

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

Características Básicas de Sistemas Distribuídos

Características Básicas de Sistemas Distribuídos Motivação Crescente dependência dos usuários aos sistemas: necessidade de partilhar dados e recursos entre utilizadores; porque os recursos estão naturalmente em máquinas diferentes. Demanda computacional

Leia mais

SISTEMAS OPERACIONAIS. George Gomes Cabral

SISTEMAS OPERACIONAIS. George Gomes Cabral SISTEMAS OPERACIONAIS George Gomes Cabral COMPONENTES GENÉRICOS DE UM SISTEMA COMPUTACIONAL Hardware Recurso básicos (memória, dispositivos de E/S, CPU) Sistema operacional Controla e coordena o uso do

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

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França

Arquitetura NUMA 1. Daniel de Angelis Cordeiro. INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França Arquitetura NUMA 1 Daniel de Angelis Cordeiro INRIA MOAIS project Laboratoire d Informatique de Grenoble Université de Grenoble, França 6 de Outubro de 2010 1 Baseado em slides feitos por Christiane Pousa

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

Sistemas de Arquivos Distribuídos. Universidade Federal do ABC Prof. Dr. Francisco Isidro Massetto

Sistemas de Arquivos Distribuídos. Universidade Federal do ABC Prof. Dr. Francisco Isidro Massetto Sistemas de Arquivos Distribuídos Universidade Federal do ABC Prof. Dr. Francisco Isidro Massetto Conceitos Dois tipos Stateless Statefull Statefull Mantém informações de estado Nome do arquivo Ponteiro

Leia mais

Pg. Autoria. Versão atual V10, nov 2008 C. Geyer. Sistemas de Arquivos Distribuídos: DFS. Projeto de. Sistemas de Arquivos Distribuídos (DFS) Súmula

Pg. Autoria. Versão atual V10, nov 2008 C. Geyer. Sistemas de Arquivos Distribuídos: DFS. Projeto de. Sistemas de Arquivos Distribuídos (DFS) Súmula Autoria 1 versão Alunos de disciplina do PPGC Sistemas de Arquivos Distribuídos: DFS Versão atual V10, nov 2008 C. Geyer Sistemas Distribuidos Sistema de Arquivos Distribuídos 1 Sistemas Distribuidos Sistema

Leia mais

Sistemas Distribuídos Aula 1 Introdução

Sistemas Distribuídos Aula 1 Introdução Sistemas Distribuídos Aula 1 Introdução 35T34 3B2 Programa Introdução. Conceitos de sistemas distribuídos. Comunicação em sistemas distribuídos. Sincronização em sistemas distribuídos. Processos e processadores

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

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores

Camadas de Serviço de Hardware e Software em Sistemas Distribuídos. Introdução. Um Serviço Provido por Múltiplos Servidores Camadas de Serviço de Hardware e Software em Sistemas Distribuídos Arquiteutra de Sistemas Distribuídos Introdução Applications, services Adaptação do conjunto de slides do livro Distributed Systems, Tanembaum,

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

JVSObjects: Middleware Java para Compartilhamento Virtual de Objetos Concorrentes

JVSObjects: Middleware Java para Compartilhamento Virtual de Objetos Concorrentes JVSObjects: Middleware Java para Compartilhamento Virtual de Objetos Concorrentes Christiane Vilaça Pousa 1, Carlos Augusto Paiva Silva Martins 1 1 Programa de Pós-Graduação em Engenharia Elétrica Laboratório

Leia mais

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES.

LCAD. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004. Laboratório de Computação de Alto Desempenho DI/UFES. ALGORÍTMOS PARALELOS (Aula 6) Neyval C. Reis Jr. OUTUBRO/2004 LCAD Laboratório de Computação de Alto Desempenho DI/UFES Tópico 20 janeiro 27 janeiro 3 fev 10 fev 17 fev 24 fev 3 março Paradigma de Paralelismo

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS 1. Histórico Primeiros computadores Computadores dos anos 50 e 60 Primeiros computadores com sistemas operacionais Surgimento das redes de computadores Nos anos 70 início das pesquisas

Leia mais

Programação de Computadores

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

Leia mais

RMI: Uma Visão Conceitual

RMI: Uma Visão Conceitual RMI: Uma Visão Conceitual Márcio Castro, Mateus Raeder e Thiago Nunes 11 de abril de 2007 Resumo Invocação de Método Remoto (Remote Method Invocation - RMI) trata-se de uma abordagem Java para disponibilizar

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

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

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber

UNIX & Linux. Histórico, distribuição licença, características. Taisy Weber UNIX & Linux Histórico, distribuição licença, características Taisy Weber História de UNIX 1969 - Ken Thompson Bell Laboratories, PDP-7 Dennis Ritchie logo juntou-se a Thompson Ritchie havia trabalhado

Leia mais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais

Notas da Aula 4 - Fundamentos de Sistemas Operacionais Notas da Aula 4 - Fundamentos de Sistemas Operacionais 1. Threads Threads são linhas de execução dentro de um processo. Quando um processo é criado, ele tem uma única linha de execução, ou thread. Esta

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

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

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman. sergio.fujii@areva-td.com. ethan.boardman@areva-td.com

Agenda do Mini-Curso. Sérgio Yoshio Fujii. Ethan Boardman. sergio.fujii@areva-td.com. ethan.boardman@areva-td.com Agenda do Mini-Curso Sérgio Yoshio Fujii sergio.fujii@areva-td.com Ethan Boardman ethan.boardman@areva-td.com Agenda do Mini-Curso Evolução de sistemas SCADA/EMS nos Centros de Controle: Sistemas operacionais

Leia mais

Organização de Computadores 2005/2006 Processamento Paralelo

Organização de Computadores 2005/2006 Processamento Paralelo Organização de Computadores 2005/2006 Processamento Paralelo Paulo Ferreira paf a dei.isep.ipp.pt Maio de 2006 Introdução 2 Porquê?...........................................................................................

Leia mais

Paralelização de Simuladores de Hardware Descritos em SystemC

Paralelização de Simuladores de Hardware Descritos em SystemC Paralelização de Simuladores de Hardware Descritos em SystemC 18 de maio de 2011 Roteiro Motivação Introdução à SLDL SystemC O Escalonador SystemC Simulação Paralela baseada em Eventos Discretos Suporte

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos 1 de 9 Sistemas Distribuídos O que é um sistema distribuído? Um conjunto de computadores autonomos a) interligados por rede b) usando um software para produzir uma facilidade de computação integrada. Qual

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

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

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

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

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

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

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

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