Sistemas Distribuídos OBJETIVO. O que é uma Aplicação Distribuída? Uma aplicação que executa...

Preview:

Citation preview

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

. . .

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

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)

Condicionantes da Evolução

Tecnologia Redes de computadores Computadores pessoais Sistemas abertos Arquitetura de Computadores

Requisitos Utilizadores finais Programadores Gestores

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

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

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

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

Requisitos dos Utilizadores

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

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

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

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

Modelos de Sistema de RV Multi-Usuário

Acesso ao Mundo Virtual Distribuído

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.

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.

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

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.

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.

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

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

Recommended