Buscar

Introdução aos Sistemas Distribuídos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Introdução aos Sistemas 
Distribuídos 
Prof. Marcus Fábio Fontenelle, M.Sc. 
Mestre em Informática Aplicada 
LPIC-1, NCLA, MCSE 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Definição de um Sistema Distribuído 
• Segundo Tanembaum “um sistema distribuído é um conjunto de 
computadores independentes que se apresenta a seus usuários como 
um sistema único e coerente”. 
 Um sistema distribuído consiste em componentes (isto é, 
computadores) autônomos. 
 Os usuários, sejam pessoas ou programas, acham que estão 
lidando com um único sistema. 
 Nenhuma premissa é adotada em relação ao tipo de 
computadores. 
 Nenhuma premissa é adotada quanto ao modo como os 
computadores são interconectados. 
 
2 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Principais Características 
• Diferenças entre os vários computadores e o modo como eles se 
comunicam estão, em grande parte, ocultas ao usuário. 
• Usuários e aplicações podem interagir com um sistema distribuído de 
maneira consistente e uniforme, independentemente de onde a interação 
ocorra. 
• Em princípio, também deveria ser relativamente fácil expandir ou aumentar 
a escala de sistemas distribuídos. 
• Em geral, um sistema distribuído estará continuamente disponível, embora 
algumas partes possam estar temporariamente avariadas. 
3 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Middleware 
• Para suportar computadores e redes heterogêneos e, simultaneamente, 
oferecer uma visão de sistema único, os sistemas distribuídos costumam 
ser organizados por meio de uma camada de software chamada 
middleware. 
4 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Metas de um Sistema Distribuído 
• Quatro metas importantes devem ser cumpridas na construção de um 
sistema distribuído para que valha a pena o esforço. 
 Deve oferecer fácil acesso a seus recursos 
 Deve ocultar razoavelmente bem o fato de que os recursos são 
distribuídos por uma rede 
 Deve ser aberto 
 Deve poder ser expandido 
5 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
1ª Meta: Acesso a Recursos 
• A principal meta de um sistema distribuído é facilitar aos usuários, e às 
aplicações, o acesso a recursos remotos e seu compartilhamento de 
maneira controlada e eficiente. 
 Economia 
 Colaboração (groupware) 
• Necessário, no entanto, aprimorar a segurança, evitando acessos 
indevidos e rastreamento de comunicações para criação de perfis de 
usuários. 
6 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
2ª Meta: Transparência 
• Uma meta importante de um sistema distribuído é ocultar o fato de que 
seus processos e recursos estão fisicamente distribuídos por vários 
computadores. 
• Um sistema distribuído que é capaz de se apresentar a usuários e 
aplicações como se fosse apenas um único sistema de computador é 
denominado transparente. 
7 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Grau de Transparência 
• Deve levar em consideração várias questões, como desempenho e 
facilidade de compreensão. 
 O usuário deve saber das limitações do sistema decorrentes do mesmo 
ser distribuídos, como: 
― Tempo de acesso? 
― Localização de recursos? 
8 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
3ª Meta: Abertura 
• Um sistema distribuído aberto é um sistema que oferece serviços de acordo com 
as regras padronizadas que descrevem a sintaxe e a semântica desses serviços. 
• Em geral os serviços são especificados por meio de interfaces, que costumam ser 
descritas em uma Linguagem de Definição de Interface (Interface Definition 
Language – IDL) 
 Quase sempre capturam apenas a sintaxe de serviços, ou seja, 
especificam com precisão os nomes das funções que estão disponíveis, 
os tipos de parâmetros, os valores de retorno, as exceções etc. 
9 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
3ª Meta: Abertura 
• As especificações devem ser completas e neutras. 
 Completude significa que tudo que é necessário para uma 
implementação foi especificado. 
 Neutralidade significa que as especificações não definem como deve 
ser a aparência da implementação. 
 Completude e neutralidade são importantes para interoperabilidade e 
portabilidade. 
― Interoperabilidade caracteriza até que ponto duas implementações 
de sistemas ou componentes de fornecedores diferentes devem 
coexistir e trabalhar em conjunto, com base na mera confiança 
mútua nos serviços de cada um, especificados por um padrão. 
― Portabilidade caracteriza até que ponto uma aplicação 
desenvolvida para um sistema distribuído A pode ser executada, 
sem modificação, em um sistema distribuído diferente B que 
implementa as mesmas interfaces de A. 
• Um sistema distribuído aberto deve ser de fácil configuração com base em 
componentes diferentes. 
• Um sistema distribuído aberto deve ser extensível. 
10 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
4ª Meta: Escalabilidade 
• A escalabilidade de um sistema pode ser medida segundo 3 dimensões: 
 Tamanho: Significa que é fácil adicionar usuários e recursos ao 
sistema. 
 Termos Geográficos: Significa que os usuários e recursos podem 
estar longe uns dos outros. 
 Termos Administrativos: Significa que mesmo que abranja 
muitas organizações administrativas diferentes ainda pode ser 
fácil de gerenciar. 
• Um sistema escalável em uma ou mais dessas dimensões pode apresentar 
perda na capacidade de desempenho à medida que é ampliado. 
 
11 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Problemas de Escalabilidade – Tamanho 
• O que distingue um algoritmo descentralizado de um algoritmo centralizado? 
 Nenhuma máquina tem informações completas sobre o estado do 
sistema. 
 As máquinas tomam decisões tendo como base somente informações 
locais. 
 A falha de uma máquina não arruína o algoritmo. 
 Não há nenhuma premissa implícita quanto à existência de um relógio 
global 
 
12 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Problemas de Escalabilidade – Termos Geográficos 
• Impossível prover comunicação síncrona para grandes distâncias. 
• Comunicação em redes de longa distância não é confiável e quase 
sempre ponto a ponto. 
• Soluções centralizadas atrapalham a escalabilidade de tamanho. 
13 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Problemas de Escalabilidade – Termos Administrativa 
• Difícil estabelecer políticas de uso e pagamento de: 
 Recursos 
 Gerenciamento 
 Segurança 
14 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Técnicas de Escalabilidade 
• Problemas básicos de escalabilidade são os problemas de desempenho 
causados por capacidade limitada de servidores e redes. 
• Técnicas para ampliar sistemas: 
 Ocultar latências de comunicação 
 Distribuição 
 Replicação 
15 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Premissas Falsas ao se Desenvolver Sistemas Distribuídos 
1. A rede é confiável 
2. A rede é segura 
3. A rede é homogênea 
4. A topologia não muda5. A latência é zero 
6. A largura da banda é infinita 
7. O custo de transporte é zero 
8. Há apenas um administrador 
16 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Resumindo 
• Transparência: o processo de um usuário pode ser executado em qualquer 
máquina da rede, sendo escolhida pelo sistema, conforme a disponibilidade no 
momento. 
• Confiabilidade: o sistema deve apresentar: 
 Disponibilidade : estar sempre apto a ser utilizado 
 Segurança: proteger os recursos dos acessos não autorizados 
 Tolerante a falhas : ser capaz de manipular falhar automaticamente (backup) 
• Desempenho: Compartilhamento de recursos com uma melhor utilização da carga 
de processamento entre todas as máquinas 
• Escalabilidade: Capacidade de agregar novos recursos ao sistema – crescimento 
incremental sem prejudicar o desempenho do sistema 
• Flexibilidade: O sistema deve ser flexível para permitir mudanças no sistema, 
caso necessite acomodar um novo projeto. 
17 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
18 
Referências Bibliográficas 
• Sistemas Distribuídos – Princípios e Paradigmas, Andrew 
Tanenbaum, 2ª Edição – Seções 1.1 e 1.2 
• Biblioteca Virtual Estácio

Continue navegando