SISTEMAS DISTRIBUÍDOS



Documentos relacionados
Introdução aos Sistemas Distribuídos

Técnico em Radiologia. Prof.: Edson Wanderley

Sistemas Distribuídos

Computação Distribuída

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

SIDs: ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Sistemas Distribuídos. Edy Hayashida

Caracterização de Sistemas Distribuídos

Professor: Gládston Duarte

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES II AULA 04: PROCESSAMENTO PARALELO: MULTICOMPUTADOR

Redes de Computadores.

Conceitos de Sistemas Distribuídos

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

ARQUITETURA DE COMPUTADORES. Professor: Clayton Rodrigues da Siva

Aula 4 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MASSIVOS DISTRIBUÍDOS. Marcelo Henrique dos Santos

SISTEMAS DISTRIBUÍDOS

4/11/2010. Computadores de grande porte: mainframes e supercomputadores. Sistemas Computacionais Classificação. Sistemas Computacionais Classificação

Sistemas distribuídos. Prof. Emiliano Monteiro

INTRODUÇÃO AOS SISTEMAS DISTRIBUÍDOS. Prof. Cesar Augusto Tacla

Matéria: Sistema Computacional - SC. Prof.: Esp.: Patrícia Dias da Silva Peixoto

SIST706 Sistemas Distribuídos

Quando Distribuir é bom

Introdução à Informática. Aula 05. Redes de Computadores. Prof. Fábio Nelson

PROJETO DE REDES

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Caracterização de Sistemas Distribuídos

Sistema de Software Distribuído

Tipos de Sistemas Distribuídos

Sistemas Operacionais. Tipos de SO

Arquitetura e organização de computadores

Sistemas Distribuídos

Sistema de entrada e saída (E/S)- Módulos de E/S; tipos de operações de E/S

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

Aula 5 TECNOLOGIA EM JOGOS DIGITAIS JOGOS MULTI PLAYER. Marcelo Henrique dos Santos

Redes de Computadores

Sistemas Distribuídos

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS EVOLUÇÃO DA COMPUTAÇÃO

Processamento de Dados aplicado à Geociências. AULA 1: Introdução à Arquitetura de Computadores

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS. Aula 1- Introdução aos Sistemas Distribuídos

Sistemas Distribuídos

Características de Sistemas Distribuídos

Hardware. Objetivos do Capítulo

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo IFSP Câmpus Presidente Epitácio SP Melissa Bonfim Alcantud

Barramento. Prof. Leonardo Barreto Campos 1

RAID: Conceito e Tipos

Sistemas Operacionais Distribuídos

Características de Sistemas Distribuídos

SI06 DIMENSÃO TECNOLÓGICA I

Redes de Computadores. Disciplina: Informática Prof. Higor Morais

Arquitetura de Computadores

Sistemas Distribuídos

Sistemas Distribuídos

4 Sistema Computacional:

Introdução a Sistemas Operacionais. Adão de Melo Neto

Organização e Arquitetura de Computadores I

SSC643 -Avaliação de Desempenho de Sistemas Computacionais Sarita Mazzini Bruschi

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

SISTEMAS OPERACIONAIS

TIPOS DE SISTEMAS OPERACIONAIS. Ademar Alves Trindade

Arquitetura de Computadores Paralelos. Introdução Conceitos Básicos Ambientes de Programação Modelos de Programação Paralela

ARQUITETURA DE SISTEMAS DISTRIBUÍDOS

Prof. Gregorio Perez 2007

ARQUITETURA DE SISTEMAS OPERACIONAIS. VISÃO GERAL DE UM SISTEMA OPERACIONAL Prof. André Luís Alves E. M. DR. LEANDRO FRANCESCHINI

1.3 Noções básicas de sistemas operacionais. Lêda Monteiro

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

INTRODUÇÃO AOS SISTEMAS LÓGICOS INTRODUÇÃO

Aplicações Gerais de Informá5ca

REDES DE COMPUTADORES

Sistemas Distribuídos

Sistemas Operacionais. Rodrigo Rubira Branco

O que é um sistema distribuído?

Sistemas Distribuídos

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 02: INTRODUÇÃO

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Sistemas Distribuídos

Servidores. Um Servidor, em redes de computadores, nada mais é que um host da rede capaz de oferecer um determinado serviço a outros hosts da redes.

Sistemas Distribuídos (DCC/UFRJ)

Processos e Threads e em sistemas distribuídos. Prof. Me. Hélio Esperidião

Inicialmente as redes passaram a ser utilizadas principalmente para o compartilhamento de periféricos, principalmente discos rígidos.

Sistemas Operacionais

Transcrição:

SISTEMAS DISTRIBUÍDOS Introdução Slide 1 Nielsen C. Damasceno

Introdução Tanenbaum (2007) definiu que um sistema distribuído é aquele que se apresenta aos seus usuários como um sistema centralizado, mas que, na verdade, funciona em diversas CPUs independentes. Um sistema distribuído não deve ter pontos críticos de falha, ou seja, se um componente quebrar, isto não deve fazer com que o sistema como um todo falhe.

Sistemas Centralizados Motivação Computadores com grande capacidade de processamento (mainframes) Terminais sem capacidade de processamento ( burros ) Grande porte físico limitações para acomodação Grande consumo de energia sala especial, refrigeração SO único dependência do fabricante...passado

Sistemas em Rede A realidade dos últimos tempos... Computadores diversos, todos com capacidade de processamento Portes diversos. SOs diversos. Redes diversas (Ethernet, ATM, com fio, sem fio...) Internet. Motivação

Aspectos de Hardware e Software Hardware: Máquinas independentes e autônomas; Software: O sistema apresenta-se ao usuário como uma única máquina.

Introdução

Aplicações A maioria das aplicações é voltada para sistemas web, exemplo: site de comercio eletrônico. Outros exemplos são: Mensagem instantânea: Sistema que permite o usuário se conectar no ambiente e trocar mensagens com os seus amigos. Este sistema foi muito popularizado com o MSN (MSN, 2013) e agoracomoskype (SKYPE, 2013). No MSN a autenticação é realizada em um servidor e depois a troca de mensagens é realizada diretamente entre os usuários.

Aplicações

Aplicações Compartilhamento de arquivos: Sistema muito utilizado na internet, no qual os usuários efetuam busca de arquivos (músicas, seriados, filmes, etc). Este sistema foi muito difundido com o Napster (NAPSTER, 2013) e, hoje em dia, há vários softwares que fazem isso.

Aplicações

Aplicações Computação colaborativa: Neste tipo de sistema, há uma tarefa a ser executada e o computador mestre divide a tarefa entre os computadores escravos. Cada escravo executa a sua parte e devolve a resposta para o mestre. Posteriormente, o mestre unifica as respostas e conclui a tarefa. Neste tipo de ambiente, os computadores colaboram para a execução de uma tarefa. A computação colaborativa é muito utilizada em ambientes de processamento de alto desempenho.

Aplicações

Características Troca de mensagem: A troca de mensagens é uma das principais características de um sistema distribuído. Toda a comunicação é baseada em troca de mensagens. Portanto, quando vamos projetar um sistema distribuído, devemos nos preocupar com a troca de mensagens, já que a comunicação ocorrerá desta forma. Esta característica é uma das responsáveis pelo tempo de execução de uma aplicação, sendo que o tempo de execução é a soma do tempo gasto em processamento e do tempo gasto em comunicação.

Características Falha: Quando desenvolvemos um ambiente distribuído, devemos nos preocupar com as falhas que podem ocorrer, já que em um ambiente centralizado, há apenas um computador e em um ambiente distribuído há N computadores. Isso aumenta bastante a probabilidade de falhas. Porém, como estamos em um ambiente distribuído, as falhas individuais não podem afetar o sistema como um todo. Para isso devemos ter: Algoritmos de detecção e recuperação de falhas; Replicações; Redundâncias.

Características Os principais fatores que levam às falhas são: Elementos de interligação; Interferências, cabeamento mal estruturado, intempéries naturais; Falhas de software (erro de programação); Falhas físicas (crash em equipamento).

Características Sincronismo: Quando estamos em um sistema centralizado, em um único computador, o sistema operacional deste computador provê recursos para efetuar a sincronização entre os processos. O principal recurso existente é o semáforo. Ele consegue sincronizar a execução dos processos e o acesso aos recursos compartilhados. Em um sistema distribuído, não há o recurso do semáforo disponível. Neste tipo de ambiente, para efetuar a sincronização entre os processos, é necessário que haja um algoritmo que efetue esta sincronização. Devemos nos preocupar bastante com a questão da sincronização para evitar que o sistema entre em um estado inconsistente

Características Segurança: Neste tipo de ambiente, por ser distribuído, temos a vulnerabilidade das redes, podendo sofrer com observações de mensagens e ataques de usuários mal intencionados. Uma forma de minimizar este fator é fazer com que o usuário se identifique através de uma autenticação. Os usuários válidos recebem uma credencial para utilizar os recursos e o ambiente cria uma sessão para este usuário, sendo que a sessão valida o usuário no sistema, enquanto ele estiver logado.

Características Heterogeneidade: Variedade de arquiteturas e Variedade de sistemas operacionais. Há computadores que são de 32 bits e outros que são de 64 bits. Isso impacta no tamanho dos dados armazenados. Cada sistema operacional trabalha de uma forma diferente. Basicamente, eles possuem recursos similares, mas eles são referenciados e utilizados de forma diferente.

Características Desempenho: há um custo para a utilização dos computadores deste ambiente: a comunicação. É necessário que eles troquem mensagens para a execução das tarefas, para a troca de dados e para a atualização das informações. O desempenho de um sistema distribuído, devido à quantidade de computadores que participam da execução das aplicações, é melhor do que o desempenho de um sistema centralizado. Em ambientes de processamento de alto desempenho, essa característica é fundamental, sendo o objetivo principal na modelagem de aplicações com esta finalidade.

Características Custo: Podemos obter um sistema distribuído (SD) com a mesma quantidade de processadores de um sistema centralizado, com um custo muito menor. Cenário 1: 1 computador multiprocessado com 32 núcleos de processamento. Cenário 2: 32 computadores com 1 núcleo de processamento cada.

Características Distribuição Geográfica: Em um sistema distribuído não há a necessidade dos computadores estarem próximos geograficamente. O ambiente pode ser composto por computadores em qualquer parte do planeta. Basta que tenhamos uma rede que possibilite a comunicação entre eles, como a internet, por exemplo.

Características Compartilhamento de recurso: O compartilhamento de periféricos ocorre com muita frequência em ambientes empresariais, no qual há periféricos de alto custo, como por exemplo, impressoras a laser. Além do compartilhamento de periféricos, há o compartilhamento de recursos, como arquivos, tabelas e variáveis. Através da rede e de troca de mensagens é possível viabilizar este compartilhamento.

Características Capacidade de expansão: Em um sistema centralizado há os seguintes problemas para a expansão da capacidade de armazenamento e de processamento: Limite físico para o número máximo de processadores; Limite para discos e memória. Já em um sistema distribuído, caso haja a necessidade de aumentar o desempenho, basta acoplar mais computadores.

Características Disponibilidade: o sistema bancário é um exemplo de sistema que precisa ter alta disponibilidade, pois cada segundo indisponível significa perda de rendimento financeiro. O que todos desejam é que o sistema funcione cem por cento do tempo e, para isso, há a necessidade de redundância de hardware e de software, além de um sistema que seja projetado para continuar funcionando caso alguns computadores falhem.

Características Concorrência: Em um ambiente distribuído, a concorrência para o acesso aos recursos é mais complexa do que em um sistema centralizado, já que há mais processadores participando do ambiente. Isso faz com que tenhamos que nos preocupar em garantir, ao processo, o acesso exclusivo a um recurso compartilhado. Um fator importante é que quanto maior a quantidade de computadores, maior será a concorrência para o acesso aos recursos.

Características Transparência: Geralmente, um sistema distribuído é transparente ao usuário. Porém, este conceito de transparência envolve as seguintes áreas: Localização: o usuário não precisa saber onde estão os recursos. Ele simplesmente os utiliza; Replicação: não é necessário saber quantas cópias do recurso existem; Migração: recursos podem mudar de lugar sem a alteração de nomes. A migração pode ocorrer para haver um balanceamento de carga ou no caso de um computador falhar; Concorrência: recursos podem ser disputados sem conhecimento do usuário; Paralelismo: várias atividades podem ocorrer simultaneamente sem o conhecimento dos usuários.

Tipos de sistemas distribuídos Sistema de computação distribuídos. Sistema de informação distribuídos. Sistemas embutidos distribuídos.

Sistema de computação distribuídos Computação de alto desempenho. Dois grupos Computação de clusters e computação em grade (grid).

Sistema de computação distribuídos Cluster O hardware subjacente consiste em um conjunto de estações de trabalho ou PCs semelhantes. São conectados por meio de uma rede local. Cada nó executa o mesmo SO.

Sistema de computação distribuídos Grade O hardware pode ser diferentes. Software pode ser diferente Ou a tecnologia empregado no sistema.

Sistema de computação distribuídos

Sistema de informação distribuídos Sistema de processamento de transações.

Sistema de informação distribuídos Integração de aplicações empresariais.

Sistema de informação distribuídos Sistema pervasivos

Sistema de informação distribuídos Rede de sensores

Pesquisa complementar Como funciona o Facebook? Pesquise e mostre que através de suas características o sistema é distribuído. Será realizado uma chamada oral ou aplicação de testes sobre a pesquisa.