Informatica
Introdução
Definição
Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Processos
●
Executados concorrentemente
●
Interagem para alcançar um objetivo comum
●
Coordenação feita através de troca de mensagens, utilizando a rede de conexão
Evolução Computacional
●
Invenção de redes de computadores de alta velocidade (anos 70):
●
●
●
Rede local (Local Area Network - LAN)
Rede global (Wide Area Network - WAN)
Desenvolvimento de microprocessadores potentes (anos 80).
Sistemas Distribuídos
●
●
É relativamente fácil agrupar um grande número de CPUs, conectando-as por uma rede de alta velocidade. O software para sistemas distribuídos é completamente diferente do software para sistemas centralizados
Por quê SDs?
Vantagens:
●
Cooperação e compartilhamento de recursos Benefícios:
●
Redução de custos, aumento da confiabilidade, disponibilidade e desempenho
Qual é a Importância?
Problemas!!!!
No pain, no gain!
Mas como lidar com sistemas heterogêneos? Sistemas distribuídos costumam ser organizados por meio de uma camada de software
●
MIDLLEWARE
Situado logicamente entre uma camada de nível mais alto, composta de usuários e aplicações, e uma camada adjacente (SOs e comunicação)
●
Middleware (1/3)
Oculta a distribuição, isto é, o fato que a aplicação está sendo executada em diferentes máquinas distribuídas geograficamente
●
Oculta a heterogenidade: diferentes sistemas operacionais, diferentes protocolos de comunicação
●
Middleware (2/3)
Middleware (3/3)
Exemplos:
●
RPC: chamada de procedimento remoto
Comunicação orientada a mensagens: WebShere
(IBM)
●
Meta I – Acesso a recursos
Facilitar aos usuários e aplicações acesso a recursos remotos e o compartilhamento de maneira controlada e eficiente
●
●
Razão óbvia: