SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
SISTEMAS DISTRIBUÍDOS
PROFESSOR – RENATO WILLIAM
Bibliografia
 Distributed Systems: Concepts and Design (5th
Edition) by: George Coulouris, Jean Dollimore, Tim
Kindberg, Gordon Blair
 Sistemas Distribuídos – Desenvolvendo aplicações
de alta performance no Linux
Uirá Ribeiro
Definição
 “ Um sistema distribuído é um conjunto de
computadores independentes entre si que
se apresenta a seus usuários como um
sistema único e coerente” – Tanenbaum
/Van Steen
 Hardware: máquinas autônomas
 Software: os usuários pensam do sistema
como um único computador
Definição
 “ Coleção de computadores autônomos
interconectados por uma rede, com software
projetado para produzir uma aplicação integrada”
 Sistemas compostos por hardware e software
localizados em lugares físicos distintos que se
comunicam através de mensagens enviadas via
uma rede de computadores. (Coulouris et al)
Sistemas distribuídos
 Concorrência:
 Execução concorrente de programas é a norma, compartilhando
recursos como páginas Web ou arquivos como necessário.
 Processos executam em paralelo (concorrência não é paralelismo)
 Não existe relógio global
 Coordenação por mensagens
 Falhas independentes
 Tratamento de exceções, design pensando em falhas
Por que ter sistemas distribuídos?
 A principal motivação para construir e usar
sistemas distribuídos é proveniente do desejo
de compartilhar recursos (hardware e
software).
Exemplos de Sistemas Distribuídos
Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online
banking and trading
The information society Web information and search engines, ebooks, Wikipedia; social
networking: Facebook and MySpace.
Creative industries and entertainment online gaming, music and film in the home, user-
generated content, e.g. YouTube, Flickr
Healthcare health informatics, on online patient records, monitoring
patients
Education e-learning, virtual learning environments; distance
learning
Transport and logistics GPS in route finding systems, map services: Google Maps,
Google Earth
Science The Grid as an enabling technology for collaboration
between scientists
Environmental management sensor technology to monitor earthquakes, floods or
tsunamis
Sistemas distribuídos
 Pesquisa na WEB.
 10 bilhões por mês;
 A tarefa de um mecanismo de pesquisa na
web é de indexar todo o conteúdo da WWW,
abrangendo uma grande variedade de
estilos de informação, incluindo páginas
Web, fontes multimídia e livros.
 Exemplo do Google:
 Infraestrutura física espalhada ao redor
do mundo
 Sistemas de arquivos distribuídos
 Um sistema associado de
armazenamento de arquivos
 Um modelo de programação
Tendências em Sistemas Distribuídos
 O surgimento da tecnologia Pervasiva ( estar em todo
lugar, porém, sem ser percebido.)
 O surgimento da computação ubíqua, combinado ao
desejo de suportar mobilidade do usuário em sistemas
distribuídos.
 A crescente demanda por serviços de multimídia.
 A visão dos sistemas distribuídos como um serviço público.
Sistemas Distribuídos
 Vantagens
 Economia: melhor relação custo/desempenho
Eficiência: maior poder total de computação
 Distribuição inerente: máquinas espacialmente
separadas
 Confiabilidade: se uma máquina falha, o sistema como
como um todo pode ainda sobreviver
 Crescimento incremental: poder computacional
adicionado em incrementos
Sistemas Distribuídos
 Desvantagens
Pouco software disponível
Networking: a rede pode causar problemas
Segurança: várias portas de acesso
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
intranet
ISP
desktop computer:
backbone
satellite link
server:
☎
network link:
☎
☎
☎
Figure 1.3
A typical portion of the Internet
A internet é um sistema distribuído
muito grande.
Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5
© Pearson Education 2012
Figure 1.4
Portable and handheld devices in a distributed
system
Computação móvel e ubíqua
 a computação ubíqua é a utilização de vários equipamentos
computacionais de pequeno porte e baratos em residências
ou escritórios.
 Já o termo “ubíquo” nos dá a noção de que o acesso aos
serviços está sempre presente, podendo ser acessado em
qualquer lugar (SBA, 2006).
 Também se denomina “computação pervasiva”.
 Dispositivos incorporados em aparelhos, como máquinas de
lavar, aparelhos de som de alta fidelidade, carros, geladeiras e
etc.
Middleware
 Campo da computação distribuída, é um
programa de computador que faz a mediação
entre software e demais aplicações.
 É utilizado para mover ou transportar
informações e dados entre programas de
diferentes protocolos de comunicação,
plataformas e dependências do sistema
operacional.
 Camada de software que fornece uma abstração
de programação
WebCasting
 O “webcasting” ou “web
streaming” consiste na
transmissão de sinal de audio e
vídeo através da internet, para
qualquer dispositivo que lhe
tenha acesso.
 O webcasting consiste na
transmissão de sinal de vídeo
através da internet.
Computação Distribuída como um
serviço público
 Recursos Físicos
 Armazenamento e processamento disponíveis para
computadores ligados em redes, eliminando a necessidade de
possuírem eles próprios os recursos.
 Serviços de Software
 Alugueis de software
 E-mail
 Calendários distribuídos
 Computação em Nuvem  Serviço Público
 Uma nuvem é definida como um conjunto de serviços de
aplicativo, armazenamento e computação baseada na internet.
 Infraestrutura física ou virtual por meio de software baseados
na utilização em vez de aquisição.
Computação em Nuvens
 Implementação feita em Cluster de
computadores.
 Escala e desempenho
 Cluster:
 Conjunto de computadores interligados que
cooperam estreitamente para fornecer um único
recurso de computação integrado de alto
desempenho.
 Projetos
 NOW
 Project Berkeley
 Beowulf da Nasa
Os servidores blade, Trata-se de um formato
que visa aumentar ainda mais a densidade
dos servidores, permitindo o compartilhamento
de componentes em comum, como discos
ópticos e fontes de alimentação.
Desafios
 Heterogeneidade:
 Conjunto heterogêneo de computadores em redes.
Redes
Hardwares de Computadores
Sistemas Operacionais
Linguagens de Programação
Implementações de diferentes desenvolvedores
Desafios
 Sistemas abertos ●
 …pode ser estendido e reimplementado de várias
maneiras
 deve-se publicar a especificação e a documentação
das principais interfaces de software
 a integração de componentes escritos por diferentes
programadores é problemática
Desafios
 Segurança
 Confidencialidade (Proteção contra exposição para pessoas não
autorizadas).
 Integridade ( Proteção contra alteração ao dano).
 Disponibilidade ( proteção contra interferência com os meios de
acesso aos recursos)
 Ataque de negação de serviço(denial of service).
 Interrupção de serviço por algum motivo.
Desafios
 Escalabilidade
 Escalas diferentes, podendo funcionar desde de uma intranet até a internet
 Um sistema é dito escalável quando permanece eficiente quando há o aumento significativo do
número de recursos e usuários.
 Controlar o custo dos recursos físicos:
 É medida que a demanda por um recurso aumenta, deve ser possível, a um custo razoável,
ampliar o sistema para atende-la.
 Controlar perda de Desempenho
 A perda de desempenho máxima não deve ser maior que log(n)
 Impedir que os recursos se esgotem
 Preparar o sistema para suportar um crescimento futuro
 Exemplo do IP
 Evitar gargalos de desempenho
 Os algoritmos devem ser descentralizados para evitar gargalos de desempenho
Escalabilidade
Tratamento de Falhas
 Pode ocorrer no hardware e software
 Falhas em SDs são consideradas parciais, enquanto alguns componentes
falham outros continuam funcionando.
 Detecção de falhas
 Soma de verificação  verificação de arquivos corrompidos
 Mascaramentos de falhas
 Retransmissão de mensagens
 Gravação de dados em dois discos
Tratamento de Falhas
 Tolerância a falhas
 Maioria dos serviços da internet apresentam falhas.
 Recuperação de falhas
 Envolve projetar o software de modo que o estado
anterior possa ser recuperado após uma falha.
 Redundância:
 Haver pelo menos duas rotas diferentes
 Banco de dados replicado
 Ter pelo menos dois servidores de Nomes replicados
Concorrência
 Trabalha sobre a possibilidade que vários clientes
possam acessar um recurso compartilhado ao
mesmo tempo
 A presença de múltiplos usuários é uma fonte de
pedidos concorrentes para seus recursos
 Em ambiente concorrente, cada recurso deve ser
projetado para manter sempre a consistência
Desafios
Transparência
 É a ocultação da separação dos componentes de um sistema distribuído,
 Para que assim, um usuário final ou um programador de aplicativos
perceba ou utilize o sistema como um todo e não como componentes
independentes
 Exemplos de transparências:
 De Software
 De acesso
 De Desempenho
 De falhas
 De localização
 Replicação
 Mobilidade
 de escalabilidade

Weitere ähnliche Inhalte

Was ist angesagt?

Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidorMarcia Abrahim
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídosEduardo de Lucena Falcão
 
Topologias De Rede
Topologias De RedeTopologias De Rede
Topologias De RedeMauro
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...Marcos Alves Vieira
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoThiago Marinho
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasSusana Oliveira
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidoresMarco Guimarães
 
Redes de computadores 1 - Conceitos Gerais
Redes de computadores 1 - Conceitos GeraisRedes de computadores 1 - Conceitos Gerais
Redes de computadores 1 - Conceitos GeraisJosé Ronaldo Trajano
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxLucasMansueto
 
Atividade fundamentos-de-redes
Atividade fundamentos-de-redesAtividade fundamentos-de-redes
Atividade fundamentos-de-redesArlimar Jacinto
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processosTalles Nascimento Rodrigues
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosFrederico Madeira
 

Was ist angesagt? (20)

Arquitetura cliente servidor
Arquitetura cliente servidorArquitetura cliente servidor
Arquitetura cliente servidor
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Topologias De Rede
Topologias De RedeTopologias De Rede
Topologias De Rede
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Sistemas Operacionais para Servidores
Sistemas Operacionais para ServidoresSistemas Operacionais para Servidores
Sistemas Operacionais para Servidores
 
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
Engenharia Dirigida por Modelos no Desenvolvimento de Aplicações Ubíquas: Tec...
 
Apresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - ConceitoApresentação Sistemas Distribuídos - Conceito
Apresentação Sistemas Distribuídos - Conceito
 
Topologias de rede
Topologias de redeTopologias de rede
Topologias de rede
 
Redes de comunicação - TGPSI
Redes de comunicação - TGPSIRedes de comunicação - TGPSI
Redes de comunicação - TGPSI
 
Metodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemasMetodologias de análise e desenvolvimento de sistemas
Metodologias de análise e desenvolvimento de sistemas
 
Linux para leigos
Linux para leigos Linux para leigos
Linux para leigos
 
222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores222097384 aulas-de-rede-tipos-de-servidores
222097384 aulas-de-rede-tipos-de-servidores
 
Redes de computadores 1 - Conceitos Gerais
Redes de computadores 1 - Conceitos GeraisRedes de computadores 1 - Conceitos Gerais
Redes de computadores 1 - Conceitos Gerais
 
Aula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - LinuxAula 3 - Sistemas operacionais - Linux
Aula 3 - Sistemas operacionais - Linux
 
Atividade fundamentos-de-redes
Atividade fundamentos-de-redesAtividade fundamentos-de-redes
Atividade fundamentos-de-redes
 
Sistemas operacionais escalonamento de processos
Sistemas operacionais  escalonamento de processosSistemas operacionais  escalonamento de processos
Sistemas operacionais escalonamento de processos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Aula- Virtualização
Aula- VirtualizaçãoAula- Virtualização
Aula- Virtualização
 
Endereçamento de memória
Endereçamento de memóriaEndereçamento de memória
Endereçamento de memória
 

Andere mochten auch

Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosPortal_do_Estudante_SD
 
Mapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoMapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06thomasdacosta
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2Tensor
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosJoão Werther Filho IT
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07thomasdacosta
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03thomasdacosta
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02thomasdacosta
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04thomasdacosta
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completothomasdacosta
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01thomasdacosta
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03thomasdacosta
 

Andere mochten auch (15)

Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
Mapa mental de un sistema distribuido
Mapa mental de un sistema distribuidoMapa mental de un sistema distribuido
Mapa mental de un sistema distribuido
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Sistemas distribuidos 2
Sistemas distribuidos 2Sistemas distribuidos 2
Sistemas distribuidos 2
 
Sistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos ArquitetônicosSistemas Distribuídos - Modelos Arquitetônicos
Sistemas Distribuídos - Modelos Arquitetônicos
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 

Ähnlich wie Sistemas Distribuídos: Conceitos e Desafios

SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Computação em Nuvem
Computação em Nuvem  Computação em Nuvem
Computação em Nuvem Toivo Gomes
 
Cloud computing, Grid Computing, Virtualization
Cloud computing, Grid Computing, VirtualizationCloud computing, Grid Computing, Virtualization
Cloud computing, Grid Computing, VirtualizationAdário Muatelembe
 
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2Evaldo Wolkers
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em NuvemVitor Savicki
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - ExercisesMichel Alves
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaRubens Matos Junior
 
I Material de Apoio Sistemas Operacionais
I Material de Apoio Sistemas OperacionaisI Material de Apoio Sistemas Operacionais
I Material de Apoio Sistemas Operacionaisrodfernandes
 
08Apresentação5.pptx
08Apresentação5.pptx08Apresentação5.pptx
08Apresentação5.pptxMarcosJoel5
 
2010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula22010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula2Universal.org.mx
 

Ähnlich wie Sistemas Distribuídos: Conceitos e Desafios (20)

SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Computação em Nuvem
Computação em Nuvem  Computação em Nuvem
Computação em Nuvem
 
Cloud computing, Grid Computing, Virtualization
Cloud computing, Grid Computing, VirtualizationCloud computing, Grid Computing, Virtualization
Cloud computing, Grid Computing, Virtualization
 
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2
Sistemas de Informação - Faveni - Prof. Evaldo Wolkers - Aula 2
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Conceitos basicos
Conceitos basicosConceitos basicos
Conceitos basicos
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Seminario - Versão Final
Seminario - Versão FinalSeminario - Versão Final
Seminario - Versão Final
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - Exercises
 
Sistema
SistemaSistema
Sistema
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíqua
 
I Material de Apoio Sistemas Operacionais
I Material de Apoio Sistemas OperacionaisI Material de Apoio Sistemas Operacionais
I Material de Apoio Sistemas Operacionais
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
08Apresentação5.pptx
08Apresentação5.pptx08Apresentação5.pptx
08Apresentação5.pptx
 
2010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula22010 03 05 Sistemas Operacionais Aula2
2010 03 05 Sistemas Operacionais Aula2
 

Sistemas Distribuídos: Conceitos e Desafios

  • 2. Bibliografia  Distributed Systems: Concepts and Design (5th Edition) by: George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair  Sistemas Distribuídos – Desenvolvendo aplicações de alta performance no Linux Uirá Ribeiro
  • 3. Definição  “ Um sistema distribuído é um conjunto de computadores independentes entre si que se apresenta a seus usuários como um sistema único e coerente” – Tanenbaum /Van Steen  Hardware: máquinas autônomas  Software: os usuários pensam do sistema como um único computador
  • 4. Definição  “ Coleção de computadores autônomos interconectados por uma rede, com software projetado para produzir uma aplicação integrada”  Sistemas compostos por hardware e software localizados em lugares físicos distintos que se comunicam através de mensagens enviadas via uma rede de computadores. (Coulouris et al)
  • 5. Sistemas distribuídos  Concorrência:  Execução concorrente de programas é a norma, compartilhando recursos como páginas Web ou arquivos como necessário.  Processos executam em paralelo (concorrência não é paralelismo)  Não existe relógio global  Coordenação por mensagens  Falhas independentes  Tratamento de exceções, design pensando em falhas
  • 6. Por que ter sistemas distribuídos?  A principal motivação para construir e usar sistemas distribuídos é proveniente do desejo de compartilhar recursos (hardware e software).
  • 7. Exemplos de Sistemas Distribuídos Finance and commerce eCommerce e.g. Amazon and eBay, PayPal, online banking and trading The information society Web information and search engines, ebooks, Wikipedia; social networking: Facebook and MySpace. Creative industries and entertainment online gaming, music and film in the home, user- generated content, e.g. YouTube, Flickr Healthcare health informatics, on online patient records, monitoring patients Education e-learning, virtual learning environments; distance learning Transport and logistics GPS in route finding systems, map services: Google Maps, Google Earth Science The Grid as an enabling technology for collaboration between scientists Environmental management sensor technology to monitor earthquakes, floods or tsunamis
  • 8. Sistemas distribuídos  Pesquisa na WEB.  10 bilhões por mês;  A tarefa de um mecanismo de pesquisa na web é de indexar todo o conteúdo da WWW, abrangendo uma grande variedade de estilos de informação, incluindo páginas Web, fontes multimídia e livros.  Exemplo do Google:  Infraestrutura física espalhada ao redor do mundo  Sistemas de arquivos distribuídos  Um sistema associado de armazenamento de arquivos  Um modelo de programação
  • 9. Tendências em Sistemas Distribuídos  O surgimento da tecnologia Pervasiva ( estar em todo lugar, porém, sem ser percebido.)  O surgimento da computação ubíqua, combinado ao desejo de suportar mobilidade do usuário em sistemas distribuídos.  A crescente demanda por serviços de multimídia.  A visão dos sistemas distribuídos como um serviço público.
  • 10. Sistemas Distribuídos  Vantagens  Economia: melhor relação custo/desempenho Eficiência: maior poder total de computação  Distribuição inerente: máquinas espacialmente separadas  Confiabilidade: se uma máquina falha, o sistema como como um todo pode ainda sobreviver  Crescimento incremental: poder computacional adicionado em incrementos
  • 11. Sistemas Distribuídos  Desvantagens Pouco software disponível Networking: a rede pode causar problemas Segurança: várias portas de acesso
  • 12. Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 intranet ISP desktop computer: backbone satellite link server: ☎ network link: ☎ ☎ ☎ Figure 1.3 A typical portion of the Internet A internet é um sistema distribuído muito grande.
  • 13. Instructor’s Guide for Coulouris, Dollimore, Kindberg and Blair, Distributed Systems: Concepts and Design Edn. 5 © Pearson Education 2012 Figure 1.4 Portable and handheld devices in a distributed system
  • 14. Computação móvel e ubíqua  a computação ubíqua é a utilização de vários equipamentos computacionais de pequeno porte e baratos em residências ou escritórios.  Já o termo “ubíquo” nos dá a noção de que o acesso aos serviços está sempre presente, podendo ser acessado em qualquer lugar (SBA, 2006).  Também se denomina “computação pervasiva”.  Dispositivos incorporados em aparelhos, como máquinas de lavar, aparelhos de som de alta fidelidade, carros, geladeiras e etc.
  • 15. Middleware  Campo da computação distribuída, é um programa de computador que faz a mediação entre software e demais aplicações.  É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional.  Camada de software que fornece uma abstração de programação
  • 16. WebCasting  O “webcasting” ou “web streaming” consiste na transmissão de sinal de audio e vídeo através da internet, para qualquer dispositivo que lhe tenha acesso.  O webcasting consiste na transmissão de sinal de vídeo através da internet.
  • 17. Computação Distribuída como um serviço público  Recursos Físicos  Armazenamento e processamento disponíveis para computadores ligados em redes, eliminando a necessidade de possuírem eles próprios os recursos.  Serviços de Software  Alugueis de software  E-mail  Calendários distribuídos  Computação em Nuvem  Serviço Público  Uma nuvem é definida como um conjunto de serviços de aplicativo, armazenamento e computação baseada na internet.  Infraestrutura física ou virtual por meio de software baseados na utilização em vez de aquisição.
  • 18. Computação em Nuvens  Implementação feita em Cluster de computadores.  Escala e desempenho  Cluster:  Conjunto de computadores interligados que cooperam estreitamente para fornecer um único recurso de computação integrado de alto desempenho.  Projetos  NOW  Project Berkeley  Beowulf da Nasa Os servidores blade, Trata-se de um formato que visa aumentar ainda mais a densidade dos servidores, permitindo o compartilhamento de componentes em comum, como discos ópticos e fontes de alimentação.
  • 19. Desafios  Heterogeneidade:  Conjunto heterogêneo de computadores em redes. Redes Hardwares de Computadores Sistemas Operacionais Linguagens de Programação Implementações de diferentes desenvolvedores
  • 20. Desafios  Sistemas abertos ●  …pode ser estendido e reimplementado de várias maneiras  deve-se publicar a especificação e a documentação das principais interfaces de software  a integração de componentes escritos por diferentes programadores é problemática
  • 21. Desafios  Segurança  Confidencialidade (Proteção contra exposição para pessoas não autorizadas).  Integridade ( Proteção contra alteração ao dano).  Disponibilidade ( proteção contra interferência com os meios de acesso aos recursos)  Ataque de negação de serviço(denial of service).  Interrupção de serviço por algum motivo.
  • 22. Desafios  Escalabilidade  Escalas diferentes, podendo funcionar desde de uma intranet até a internet  Um sistema é dito escalável quando permanece eficiente quando há o aumento significativo do número de recursos e usuários.  Controlar o custo dos recursos físicos:  É medida que a demanda por um recurso aumenta, deve ser possível, a um custo razoável, ampliar o sistema para atende-la.  Controlar perda de Desempenho  A perda de desempenho máxima não deve ser maior que log(n)  Impedir que os recursos se esgotem  Preparar o sistema para suportar um crescimento futuro  Exemplo do IP  Evitar gargalos de desempenho  Os algoritmos devem ser descentralizados para evitar gargalos de desempenho
  • 24. Tratamento de Falhas  Pode ocorrer no hardware e software  Falhas em SDs são consideradas parciais, enquanto alguns componentes falham outros continuam funcionando.  Detecção de falhas  Soma de verificação  verificação de arquivos corrompidos  Mascaramentos de falhas  Retransmissão de mensagens  Gravação de dados em dois discos
  • 25. Tratamento de Falhas  Tolerância a falhas  Maioria dos serviços da internet apresentam falhas.  Recuperação de falhas  Envolve projetar o software de modo que o estado anterior possa ser recuperado após uma falha.  Redundância:  Haver pelo menos duas rotas diferentes  Banco de dados replicado  Ter pelo menos dois servidores de Nomes replicados
  • 26. Concorrência  Trabalha sobre a possibilidade que vários clientes possam acessar um recurso compartilhado ao mesmo tempo  A presença de múltiplos usuários é uma fonte de pedidos concorrentes para seus recursos  Em ambiente concorrente, cada recurso deve ser projetado para manter sempre a consistência
  • 27. Desafios Transparência  É a ocultação da separação dos componentes de um sistema distribuído,  Para que assim, um usuário final ou um programador de aplicativos perceba ou utilize o sistema como um todo e não como componentes independentes  Exemplos de transparências:  De Software  De acesso  De Desempenho  De falhas  De localização  Replicação  Mobilidade  de escalabilidade