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

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

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

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

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

Leia mais

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

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

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

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

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

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

Leia mais

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

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

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

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

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

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

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 UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Sistemas Operacionais 1- Introdução aos SOs Prof. Sílvio Fernandes Disciplina Sistemas

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

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

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores

Aplicações. Sistema Operacional Hardware. Os sistemas de computadores são projetados com basicamente 3 componentes: Máquinas Virtuais e Emuladores Máquinas Virtuais e Emuladores Marcos Aurelio Pchek Laureano Sistemas de Computadores Os sistemas de computadores são projetados com basicamente 3 componentes: hardware sistema operacional aplicações Sistemas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

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

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

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

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

Everson Scherrer Borges João Paulo de Brito Gonçalves

Everson Scherrer Borges João Paulo de Brito Gonçalves Everson Scherrer Borges João Paulo de Brito Gonçalves 1 Tipos de Sistemas Operacionais Os tipos de sistemas operacionais e sua evolução estão relacionados diretamente com a evolução do hardware e das

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

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

Sistemas Operacionais Sistemas Operacionais Aula 07 Arquitetura de Sistemas Operacionais Prof. Maxwell Anderson www.maxwellanderson.com.br Introdução Conceitos já vistos em aulas anteriores: Definição de Sistemas Operacionais

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

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

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

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

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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Capítulo 2 Processos e Threads Prof. Fernando Freitas

Capítulo 2 Processos e Threads Prof. Fernando Freitas slide 1 Capítulo 2 Processos e Threads Prof. Fernando Freitas Material adaptado de: TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3ª edição. Disponível em: http://www.prenhall.com/tanenbaum_br slide

Leia mais

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1

Remote Procedure Call. Programação distribuída e paralela (C. Geyer) RPC 1 Remote Procedure Call Programação distribuída e paralela (C. Geyer) RPC 1 Autoria Autores C. Geyer Local II-UFRGS Versão V11.4 2014-2 Disciplinas SOII Programação distribuída e paralela (C. Geyer) RPC

Leia mais

Cálculo Aproximado do número PI utilizando Programação Paralela

Cálculo Aproximado do número PI utilizando Programação Paralela Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Cálculo Aproximado do número PI utilizando Programação Paralela Grupo 17 Raphael Ferras Renan Pagaiane Yule Vaz SSC-0143 Programação

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

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

Introdução à Computação: Sistemas de Computação

Introdução à Computação: Sistemas de Computação Introdução à Computação: Sistemas de Computação Beatriz F. M. Souza (bfmartins@inf.ufes.br) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,

Leia mais

Threads. 8 de janeiro de 2015

Threads. 8 de janeiro de 2015 1 / 24 Erick Nilsen Pereira de Souza T002 - Sistemas Operacionais e Org. Computadores Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 8 de janeiro de 2015 2 / 24 Agenda Tópicos

Leia mais

Infraestrutura de Hardware. Memória Virtual

Infraestrutura de Hardware. Memória Virtual Infraestrutura de Hardware Memória Virtual Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido e executado pelo HW? Qual é a interface

Leia mais

7 Processamento Paralelo

7 Processamento Paralelo 7 Processamento Paralelo Yes, of course, who has time? Who has time? But then if we do not ever take time, how can we ever have time? (The Matrix) 7.1 Introdução Classificação de Sistemas Paralelos Diversas

Leia mais

Arquitetura dos Sistemas de Informação Distribuídos

Arquitetura dos Sistemas de Informação Distribuídos Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa

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

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

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 de Informação. Sistemas Operacionais 4º Período

Sistemas de Informação. Sistemas Operacionais 4º Período Sistemas de Informação Sistemas Operacionais 4º Período SISTEMA DE ARQUIVOS SUMÁRIO 7. SISTEMA DE ARQUIVOS: 7.1 Introdução; 7.2 s; 7.3 Diretórios; 7.4 Gerência de Espaço Livre em Disco; 7.5 Gerência de

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 5 Servidores de Aplicação

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

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