21
Sistemas Distribuídos OBJETIVO

Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída? Uma aplicação que executa simultaneamente em várias máquinas Um grupo de processos

Embed Size (px)

Citation preview

Page 1: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Sistemas Distribuídos

OBJETIVO

Page 2: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

O que é uma Aplicação Distribuída? Uma aplicação que executa

simultaneamente em várias máquinas Um grupo de processos que executa em

máquinas distintas e trabalha de forma coordenada e cooperativa para realizar uma determinada tarefa

aplicação centralizada

máquina 1

aplicação distribuída

máquina 1 máquina 2 máquina n

. . .

Page 3: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Sistema Distribuído

conjunto de nós de processamento independentes heterogêneos características e objetivos distintos

interligados (rede de comunicação) interagem e cooperam

Page 4: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Porquê?

Distribuição Geográfica (organizações físicas distribuídas)

Extensibilidade, modularidade Partilha de recursos Maior disponibilidade (replicação) Maior desempenho (carga

computacional distribuída)

Page 5: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Condicionantes da Evolução

Tecnologia Redes de computadores Computadores pessoais Sistemas abertos Arquitetura de Computadores

Requisitos Utilizadores finais Programadores Gestores

Page 6: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Evolução das Redes de Computadores Terminais ligados ao mainframe Interligação dos sistemas centrais Oferta de comunicação de dados

pelos operadores públicos X.25; RDIS; ATM

Redes locais Internet Wireless Interligação de TODOS os dispositivos

onde quer que estejam + distribuição = Computação ubíqua

Page 7: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Evolução dos Computadores Pessoais

Equipamentos simples e autónomos Baixo custo Interface atraente e intuitiva Mercado dominado pela Wintel:

Windows + Intel + Office Miríade de aplicações mas… para que

servem exatamente os computadores

Page 8: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Evolução da Arquitetura de Computadores Grande aumento da:

potência de cálculo, memória, e disco Utilização de componentes de h/w standard Multiprocessamento económico e eficaz Alguma uniformização do s/w de sistema

SO: Windows, Unix, IBM MVS BD’s: Oracle, Informix,Sybase, SQL-Server,

DB2

Redução de equipamentos centrais: downsizing custo e dimensão, modularidade e extensibilidade dos servidores

Page 9: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Consequências da Evolução Tecnológica

Grande disponibilidade da tecnologia (clientes, servidores, e interligações)

Distribuição da tecnologia pelo mundo

Grande descoordenação e heterogeneidade

Sistema compatíveis com a distribuição e modo de vida

Page 10: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Requisitos dos Utilizadores

Transparência Partilha de informação Melhoria de comunicação entre

pessoas Segurança e proteção Fiabilidade e disponibilidade

Page 11: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Requisitos dos programadores

Interfaces normalizadas Ambientes de programação

independentes das características do hardware e das redes

Controle sobre o desempenho, fiabilidade, disponibilidade, segurança

Page 12: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Requisitos dos Gestores

Investimento reduzido Modularidade e extensibilidade na

evolução do sistema proteção do investimento anterior

Adequação às equipas técnicas Otimização da gestão dos recursos Desempenho, disponibilidade,

fiabilidade, segurança

Page 13: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Modelos de Sistema de RV Multi-Usuário

Page 14: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Acesso ao Mundo Virtual Distribuído

Page 15: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Funcionamento Geral A estrutura de um sistema distribuído pode ser

visualizada em camadas. A camada mais interna corresponde ao hardware, que suporta todas as outras camadas do software. Em seguida vem o núcleo, que é a primeira camada de software a envolver o hardware, sobre esse núcleo (kernel) situa-se o sistema operacional propriamente dito, que fornece o suporte necessário à execução de programas. E, em seguida, tem-se a camada mais externa, correspondente ao nível de aplicação.

Page 16: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Funcionamento Geral Em um sistema distribuído, a existência de

computadores autônomos é transparente (não visível) para o usuário, que não percebe a existência de múltiplos processadores.

Um sistema distribuído é um caso especial de rede, cujo software lhe fornece maior grau de coesão e transparência. Desta forma, a distinção entre uma rede e um sistema distribuído está no software (especialmente no sistema operacional) não no hardware.

Page 17: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Funcionamento Geral

Os sistemas distribuídos permitem que uma aplicação seja dividida em diferentes partes, que se comunicam através de linhas de comunicação, e cada parte podendo ser processada em um sistema independente;

“Sistema Distribuído é aquele que roda em um conjunto de máquinas sem memória compartilhada, máquinas que mesmo assim aparecem como único computador para seus usuários” (Lamport, 1978).

Page 18: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Vantagens do Sistema Distribuído

Economia: Os microprocessadores oferecem uma melhor relação preço/performance do que a oferecida

por mainframes. Velocidade: Um sistema distribuído pode ter um poder

de processamento maior que o de qualquer mainframe. Confiabilidade: Se uma máquina sair do ar, o sistema

como um todo pode sobreviver. Crescimento incremental: O poder computacional pode

crescer gradualmente.

Page 19: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Vantagens do Sistema Distribuído(cont.)

Compartilhamento de dados: permite que mais de um usuário acesse uma base de dados comum.

Compartilhamento de dispositivos: permite que mais de um usuário possa ter acesso a vários periféricos.

Flexibilidade: Espalha a carga de trabalho por todas as máquinas disponíveis ao longo da rede.

Page 20: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Desvantagens do Sistema Distribuído

Software: Existência de software para sistemas distribuídos é pequena até o momento;

Redes: As redes de comunicação podem saturar ou causar outros problemas;

Segurança: Fácil acesso a dados também se aplica a

dados confidenciais (secretos);

Page 21: Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída?  Uma aplicação que executa simultaneamente em várias máquinas  Um grupo de processos

Sistemas Distribuídos X Sistemas Centralizados

Item Descrição

Compartilhamento de dados Permite vários usuários acessarem uma base de dados comum

Compartilhamento de dispositivos

Permitem vários usuários acessarem recursos caros como impressoras coloridas

ComunicaçãoTorna a comunicação entre humanos mais fácil através de mensagens

EconomiaMicroprocessadores oferecem custo/benefício maior do que mainframes

VelocidadeUm sistema distribuído pode ter maior poder computacional do que um mainframe

Distribuição Inerente Algumas aplicações envolvem máquinas espacialmente separadas

FlexibilidadeEspalha a carga de trabalho através das máquinas disponíveis da maneira mais efetiva em relação ao custo computacional

Crescimento incrementalPoder computacional pode ser adicionado com pequenos incrementos