SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Sistemas Distribuídos

Michel Alves dos Santos

∗

4 de maio de 2011

1

Introdução. Conceitue Sistemas Distribuídos, aponte a principal motivação de sua
adoção, liste pelo menos três características e aponte alguns desafios relativos a sua
implementação.

Definimos um sistema distribuído como um sistema no qual componentes de hardware e software são localizados em redes de computadores e se comunicam e coordenam suas ações através da transferência de mensagens. Segundo Andrew Tanenbaum,
é uma “coleção de computadores independentes que se apresenta ao usuário como um
sistema único e consistente”, já segundo George Coulouris, é uma “coleção de computadores autônomos interligados através de uma rede de computadores e equipados
com software que permita o compartilhamento dos recursos do sistema: hardware,
software e dados”.
A principal motivação para a adoção de Sistemas Distribuídos é o compartilhamento de recursos. Abaixo são listadas três características inerentes a Sistemas Distribuídos:
• Concorrência de Componentes;
• Ausência de Clock Global;
• Independentes de falhas de componentes;
Alguns desafios que podem ser apontados em relação a sua implementação são:
• Heterogeneidade de seus componentes;
• Abertura/Openness (componentes podem ser adicionados ou substituídos)
• Segurança: como prover segurança para sistemas híbridos/heterogêneos
• Escalabilidade (deve funcionar bem quando o número de usuários aumenta)
• Manipulação/Tratamento/Recuperação de falhas
• Concorrência de componentes
• Transparência
∗ Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E-mails: michel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Sistemas Distribuídos. Docente Responsável:
Willy Tiengo.

1
2

Comunicação. Por que a comunicação entre Sistemas Distribuídos é realizada através
da transferência de mensagens? Para que ocorra comunicação entre duas entidades
inseridas nesse contexto, o que devemos estabelecer?

A comunicação é realizada através da transferência de mensagens devido a ausência
de memória global compartilhada entre os componentes. Para que ocorra comunicação entre duas ou mais entidades inseridas nesse contexto devemos estabelecer um
protocolo(padrão, especificação) de comunicação.

3

Camadas de Software e Hardware em Sistemas Distribuídos. Conceitue Middleware,
cite pelo menos dois produtos comerciais relacionados com esse conceito e disponha
os seguintes elementos em um diagrama de 4 níveis, colocando-os em ordem de comunicação dentro do contexto de Sistemas Distribuídos: [Middleware], [Aplicações e
Serviços], [Computadores e Hardware de Rede], [Sistema Operacionais].

Middleware é uma camada de software cujo propósito é mascarar heterogeneidade
e prover um modelo de programação conveniente para fornecedores e programadores de aplicação. É utilizado para mover ou transportar informações e dados entre
programas de diferentes protocolos de comunicação, plataformas e dependências do
sistema operacional. É composto por um conjunto de processos ou objetos em um
grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para compartilhamento de recursos e aplicativos distribuídos.
Exemplos de produtos comerciais relacionados com esse conceito são:
• Java RMI (Remote Method Invocation)
• CORBA (Common Object Request Broker Architecture)
• Ginga (Gerenciador de funções de interatividade em TV digital)
Logo abaixo podemos visualizar como a comunicação entre os elementos providos e
os próprios elementos estão dispostos em um diagrama de níveis:

Figura 1: Disposição dos elementos fornecidos em um diagrama de 4 níveis levando em consideração a ordem de comunicação dos mesmos dentro do contexto de Sistemas Distribuídos.

2
4

Arquitetura de Sistemas. Identifique os tipos de sistemas fornecidos logo abaixo levando em consideração a arquitetura que os mesmos apresentam e provendo um exemplo ou situação de aplicação de cada um deles.

a. Um servidor respondendo a vários clientes e requisitando/respondendo a outro(s) servidor(es).

b. Um conjunto de servidores que executam de forma sincronizada um determinado serviço
mantendo cópia (réplica) do conjunto de objetos sobre os quais o serviço é baseado ou
particionando-os entre as máquinas componentes dessa estratégia.

c. A requisição de informações e as respostas para essas requisições são executadas através de
um intermediário que também pode possuir a função de armazenamento temporário dessas
informações(cache) com o intuito de agilizar o processo de resposta de pedidos recentes para
os quais a informação original não tenham sido alterada na fonte.

d. Tanto informação como meio de sincronização e acesso se encontram compartilhados, fazendo
com que todos requisitem e respondam com um grau de hierarquia equilavente. Todos os
serviços que estão sendo executados (cada qual em seu host/máquina) detêm o código da
aplicação e o código de coordenação das ações de compartilhamento.

3
Do ponto de vista da Arquitetura de Sistemas o primeiro refere-se a arquitetura
Cliente-Servidor. O servidor central poderia estar no papel de um servidor web
provendo páginas/conteúdo para vários clientes. Ao mesmo tempo, o servidor web
estaria no papel de cliente no momento da requisição de informações a um servidor
DNS. Servidores Web e a maioria dos serviços Internet são clientes do serviço DNS.
Já no segundo sistema teríamos uma simplificação de um arquitetura de Serviços
Providos por Múltiplos Servidores, que se utiliza da replicação como estratégia
para aumentar a performance, a disponibilidade e melhorar a tolerância à falhas.
Um bom exemplo seria a estrutura de serviços web provida pela google.com que é
mapeada sobre diversos servidores. Um outro exemplo seria o serviço NIS usado
para autenticação de usuários em rede. Cada servidor NIS tem sua própria réplica
do arquivo de senhas contendo uma lista de nomes de login de usuários e senhas
criptografadas.
Para o terceiro sistema teríamos uma arquitetura de Serviços de Procura e Armazenamento Temporário - Proxy Server and Cache. Esse tipo de arquitetura é
muitas vezes usada para prover segurança e respostas rápidas para requisições recentemente realizadas, pois ocorre armazenamento temporário de todos os objetos que
foram requisitados através desse serviço. Caso o objeto requisitado esteja em cache e
o mesmo não tenha sofrido nenhuma atualização em seu servidor de origem então o
objeto armazenado temporariamente no servidor proxy será imeditamente remetido
ao cliente. Um bom exemplo de utilização de servidores proxy é o serviço Squid
disponível para Sistemas Operacionais UNIX e Like UNIX.
Finalmente o último sistema diz respeito a Arquitetura Peer-to-Peer. A arquitetura Peer-to-Peer é uma arquitetura de sistemas distribuídos caracterizada pela
descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. O seu design garante que cada usuário contribua com recursos
para o sistema, apesar de que eles podem diferir nos recursos que contribuem. Todos
os nodos em um sistema peer-to-peer possuem as mesmas capacidades funcionais e
responsabilidades. Alguns exemplos dessa arquitetura são as redes de compartilhamento Gnutella, Napster, P2PTV e BitTorrent.

5

Considere um ambiente no qual a descoberta de um determinado serviço (residente em
um host/máquina) é feita através da disseminação de mensagens em broadcast. Considere ainda que ao interceptar a mensagem de requisição o servidor que abriga o serviço
solicitado responda com um “i am here”. Explique porque o esquema apresentado não
é adequado e como poderíamos melhorar a performance desse ambiente em relação a
descoberta de um serviço.

O esquema apresentado não é adequado pois as solicitações em broadcast podem
degradar a performance da rede como um todo(impacto direto na escalabilidade do
mesmo). Uma solução e a introdução de um servidor controlador, que a priori conheceria todos os endereços dos serviços, ou seja, a implantação de um serviço de
nomeação.

4

Mais conteúdo relacionado

Mais procurados

Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
simoesflavio
 
Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
Adail Viana Neto
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
Portal_do_Estudante_SD
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
Computação Depressão
 
Icc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºhIcc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºh
FrogFAT
 

Mais procurados (20)

Sistemas operativos servidor
Sistemas operativos servidorSistemas operativos servidor
Sistemas operativos servidor
 
Instalação de Servidor de Arquivo
Instalação de Servidor de ArquivoInstalação de Servidor de Arquivo
Instalação de Servidor de Arquivo
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Sistema operativo de rede
Sistema operativo de redeSistema operativo de rede
Sistema operativo de rede
 
Introdução a Cloud Computing
Introdução a Cloud ComputingIntrodução a Cloud Computing
Introdução a Cloud Computing
 
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais DistribuídosSistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
Sistemas Distribuídos - Aula 11 - Sistemas Operacionais Distribuídos
 
Banco de Dados Distribuídos
Banco de Dados DistribuídosBanco de Dados Distribuídos
Banco de Dados Distribuídos
 
722
722722
722
 
Banco de Dados Distribuidos
Banco de Dados DistribuidosBanco de Dados Distribuidos
Banco de Dados Distribuidos
 
Sistemas Operacionais em redes
Sistemas Operacionais em redesSistemas Operacionais em redes
Sistemas Operacionais em redes
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 
Protocolos logicos de_comunicacao
Protocolos logicos de_comunicacaoProtocolos logicos de_comunicacao
Protocolos logicos de_comunicacao
 
Sistemas operacionais de redes II
Sistemas operacionais de redes IISistemas operacionais de redes II
Sistemas operacionais de redes II
 
Sistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de DadosSistemas Distribuídos - Replicação de Banco de Dados
Sistemas Distribuídos - Replicação de Banco de Dados
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Linux Redes e Servidores - guia pratico
Linux  Redes e Servidores - guia pratico Linux  Redes e Servidores - guia pratico
Linux Redes e Servidores - guia pratico
 
Icc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºhIcc modelos de osi claudio e mika 8ºh
Icc modelos de osi claudio e mika 8ºh
 

Semelhante a Distributed Systems - Exercises

Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
Portal_do_Estudante_SD
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
SoftD Abreu
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
Mauro Tapajós
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
DuFelix02
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
FredericoSilva
 

Semelhante a Distributed Systems - Exercises (20)

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
 
Caracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidosCaracterizacao de sistemas distribuidos
Caracterizacao de sistemas distribuidos
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Sistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo realSistemas distribuídos e de tempo real
Sistemas distribuídos e de tempo real
 
Modelo de Referência OSI
Modelo de Referência OSIModelo de Referência OSI
Modelo de Referência OSI
 
Cluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em LinuxCluster de Alta Disponibilidade em Linux
Cluster de Alta Disponibilidade em Linux
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
Atividade sd
Atividade sdAtividade sd
Atividade sd
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPCSistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
 
Sistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPCSistemas Distribuidos, Middleware e RPC
Sistemas Distribuidos, Middleware e RPC
 
Sistemas distribuídos aula 1
Sistemas distribuídos aula 1Sistemas distribuídos aula 1
Sistemas distribuídos aula 1
 
Trabalho de rede.
Trabalho de rede.Trabalho de rede.
Trabalho de rede.
 
Otimizando o desempenho de transferência de arquivos e diretórios entre servi...
Otimizando o desempenho de transferência de arquivos e diretórios entre servi...Otimizando o desempenho de transferência de arquivos e diretórios entre servi...
Otimizando o desempenho de transferência de arquivos e diretórios entre servi...
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 
Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.Fundamentos da arquitetura cliente servidor.
Fundamentos da arquitetura cliente servidor.
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 
GlossáRio De Internet
GlossáRio De InternetGlossáRio De Internet
GlossáRio De Internet
 

Mais de Michel Alves

Mais de Michel Alves (20)

Texture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU UseTexture Synthesis: An Approach Based on GPU Use
Texture Synthesis: An Approach Based on GPU Use
 
Intelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color PalettesIntelligent Transfer of Thematic Harmonic Color Palettes
Intelligent Transfer of Thematic Harmonic Color Palettes
 
A Framework for Harmonic Color Measures
A Framework for Harmonic Color MeasuresA Framework for Harmonic Color Measures
A Framework for Harmonic Color Measures
 
Effectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment IndexesEffectiveness of Image Quality Assessment Indexes
Effectiveness of Image Quality Assessment Indexes
 
Introduction to Kernel Functions
Introduction to Kernel FunctionsIntroduction to Kernel Functions
Introduction to Kernel Functions
 
About Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV SpaceAbout Perception and Hue Histograms in HSV Space
About Perception and Hue Histograms in HSV Space
 
Color Harmonization - Results
Color Harmonization - ResultsColor Harmonization - Results
Color Harmonization - Results
 
Wave Simulation Using Perlin Noise
Wave Simulation Using Perlin NoiseWave Simulation Using Perlin Noise
Wave Simulation Using Perlin Noise
 
Similarity Maps Using SSIM Index
Similarity Maps Using SSIM IndexSimilarity Maps Using SSIM Index
Similarity Maps Using SSIM Index
 
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color HarmonizationQualifying Exam - Image-Based Reconstruction With Color Harmonization
Qualifying Exam - Image-Based Reconstruction With Color Harmonization
 
TMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and ReportsTMS - Schedule of Presentations and Reports
TMS - Schedule of Presentations and Reports
 
Month Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJMonth Presentations Schedule - March/2015 - LCG/UFRJ
Month Presentations Schedule - March/2015 - LCG/UFRJ
 
Color Palettes in R
Color Palettes in RColor Palettes in R
Color Palettes in R
 
Sigmoid Curve Erf
Sigmoid Curve ErfSigmoid Curve Erf
Sigmoid Curve Erf
 
Hue Wheel Prototype
Hue Wheel PrototypeHue Wheel Prototype
Hue Wheel Prototype
 
Cosine Curve
Cosine CurveCosine Curve
Cosine Curve
 
Triangle Mesh Plot
Triangle Mesh PlotTriangle Mesh Plot
Triangle Mesh Plot
 
Triangle Plot
Triangle PlotTriangle Plot
Triangle Plot
 
Capacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video SlidesCapacity-Constrained Point Distributions :: Video Slides
Capacity-Constrained Point Distributions :: Video Slides
 
Capacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function CatalogCapacity-Constrained Point Distributions :: Density Function Catalog
Capacity-Constrained Point Distributions :: Density Function Catalog
 

Último

Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
rfmbrandao
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
azulassessoria9
 

Último (20)

Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
Sistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturasSistema articular aula 4 (1).pdf articulações e junturas
Sistema articular aula 4 (1).pdf articulações e junturas
 
Novena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João EudesNovena de Pentecostes com textos de São João Eudes
Novena de Pentecostes com textos de São João Eudes
 
Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)Sopa de letras | Dia da Europa 2024 (nível 2)
Sopa de letras | Dia da Europa 2024 (nível 2)
 
Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
Falando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introdFalando de Física Quântica apresentação introd
Falando de Física Quântica apresentação introd
 
Quiz | Dia da Europa 2024 (comemoração)
Quiz | Dia da Europa 2024  (comemoração)Quiz | Dia da Europa 2024  (comemoração)
Quiz | Dia da Europa 2024 (comemoração)
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
O estudo do controle motor nada mais é do que o estudo da natureza do movimen...
 
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...apostila filosofia 1 ano  1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
apostila filosofia 1 ano 1s (1).pdf 1 ANO DO ENSINO MEDIO . CONCEITOSE CARAC...
 

Distributed Systems - Exercises

  • 1. Sistemas Distribuídos Michel Alves dos Santos ∗ 4 de maio de 2011 1 Introdução. Conceitue Sistemas Distribuídos, aponte a principal motivação de sua adoção, liste pelo menos três características e aponte alguns desafios relativos a sua implementação. Definimos um sistema distribuído como um sistema no qual componentes de hardware e software são localizados em redes de computadores e se comunicam e coordenam suas ações através da transferência de mensagens. Segundo Andrew Tanenbaum, é uma “coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente”, já segundo George Coulouris, é uma “coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados”. A principal motivação para a adoção de Sistemas Distribuídos é o compartilhamento de recursos. Abaixo são listadas três características inerentes a Sistemas Distribuídos: • Concorrência de Componentes; • Ausência de Clock Global; • Independentes de falhas de componentes; Alguns desafios que podem ser apontados em relação a sua implementação são: • Heterogeneidade de seus componentes; • Abertura/Openness (componentes podem ser adicionados ou substituídos) • Segurança: como prover segurança para sistemas híbridos/heterogêneos • Escalabilidade (deve funcionar bem quando o número de usuários aumenta) • Manipulação/Tratamento/Recuperação de falhas • Concorrência de componentes • Transparência ∗ Bacharelando em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL). E-mails: michel.mas@gmail.com, michelalavessantos@hotmail.com. Disciplina: Sistemas Distribuídos. Docente Responsável: Willy Tiengo. 1
  • 2. 2 Comunicação. Por que a comunicação entre Sistemas Distribuídos é realizada através da transferência de mensagens? Para que ocorra comunicação entre duas entidades inseridas nesse contexto, o que devemos estabelecer? A comunicação é realizada através da transferência de mensagens devido a ausência de memória global compartilhada entre os componentes. Para que ocorra comunicação entre duas ou mais entidades inseridas nesse contexto devemos estabelecer um protocolo(padrão, especificação) de comunicação. 3 Camadas de Software e Hardware em Sistemas Distribuídos. Conceitue Middleware, cite pelo menos dois produtos comerciais relacionados com esse conceito e disponha os seguintes elementos em um diagrama de 4 níveis, colocando-os em ordem de comunicação dentro do contexto de Sistemas Distribuídos: [Middleware], [Aplicações e Serviços], [Computadores e Hardware de Rede], [Sistema Operacionais]. Middleware é uma camada de software cujo propósito é mascarar heterogeneidade e prover um modelo de programação conveniente para fornecedores e programadores de aplicação. É utilizado para mover ou transportar informações e dados entre programas de diferentes protocolos de comunicação, plataformas e dependências do sistema operacional. É composto por um conjunto de processos ou objetos em um grupo de computadores, que interagem entre si de forma a implementar comunicação e oferecer suporte para compartilhamento de recursos e aplicativos distribuídos. Exemplos de produtos comerciais relacionados com esse conceito são: • Java RMI (Remote Method Invocation) • CORBA (Common Object Request Broker Architecture) • Ginga (Gerenciador de funções de interatividade em TV digital) Logo abaixo podemos visualizar como a comunicação entre os elementos providos e os próprios elementos estão dispostos em um diagrama de níveis: Figura 1: Disposição dos elementos fornecidos em um diagrama de 4 níveis levando em consideração a ordem de comunicação dos mesmos dentro do contexto de Sistemas Distribuídos. 2
  • 3. 4 Arquitetura de Sistemas. Identifique os tipos de sistemas fornecidos logo abaixo levando em consideração a arquitetura que os mesmos apresentam e provendo um exemplo ou situação de aplicação de cada um deles. a. Um servidor respondendo a vários clientes e requisitando/respondendo a outro(s) servidor(es). b. Um conjunto de servidores que executam de forma sincronizada um determinado serviço mantendo cópia (réplica) do conjunto de objetos sobre os quais o serviço é baseado ou particionando-os entre as máquinas componentes dessa estratégia. c. A requisição de informações e as respostas para essas requisições são executadas através de um intermediário que também pode possuir a função de armazenamento temporário dessas informações(cache) com o intuito de agilizar o processo de resposta de pedidos recentes para os quais a informação original não tenham sido alterada na fonte. d. Tanto informação como meio de sincronização e acesso se encontram compartilhados, fazendo com que todos requisitem e respondam com um grau de hierarquia equilavente. Todos os serviços que estão sendo executados (cada qual em seu host/máquina) detêm o código da aplicação e o código de coordenação das ações de compartilhamento. 3
  • 4. Do ponto de vista da Arquitetura de Sistemas o primeiro refere-se a arquitetura Cliente-Servidor. O servidor central poderia estar no papel de um servidor web provendo páginas/conteúdo para vários clientes. Ao mesmo tempo, o servidor web estaria no papel de cliente no momento da requisição de informações a um servidor DNS. Servidores Web e a maioria dos serviços Internet são clientes do serviço DNS. Já no segundo sistema teríamos uma simplificação de um arquitetura de Serviços Providos por Múltiplos Servidores, que se utiliza da replicação como estratégia para aumentar a performance, a disponibilidade e melhorar a tolerância à falhas. Um bom exemplo seria a estrutura de serviços web provida pela google.com que é mapeada sobre diversos servidores. Um outro exemplo seria o serviço NIS usado para autenticação de usuários em rede. Cada servidor NIS tem sua própria réplica do arquivo de senhas contendo uma lista de nomes de login de usuários e senhas criptografadas. Para o terceiro sistema teríamos uma arquitetura de Serviços de Procura e Armazenamento Temporário - Proxy Server and Cache. Esse tipo de arquitetura é muitas vezes usada para prover segurança e respostas rápidas para requisições recentemente realizadas, pois ocorre armazenamento temporário de todos os objetos que foram requisitados através desse serviço. Caso o objeto requisitado esteja em cache e o mesmo não tenha sofrido nenhuma atualização em seu servidor de origem então o objeto armazenado temporariamente no servidor proxy será imeditamente remetido ao cliente. Um bom exemplo de utilização de servidores proxy é o serviço Squid disponível para Sistemas Operacionais UNIX e Like UNIX. Finalmente o último sistema diz respeito a Arquitetura Peer-to-Peer. A arquitetura Peer-to-Peer é uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente. O seu design garante que cada usuário contribua com recursos para o sistema, apesar de que eles podem diferir nos recursos que contribuem. Todos os nodos em um sistema peer-to-peer possuem as mesmas capacidades funcionais e responsabilidades. Alguns exemplos dessa arquitetura são as redes de compartilhamento Gnutella, Napster, P2PTV e BitTorrent. 5 Considere um ambiente no qual a descoberta de um determinado serviço (residente em um host/máquina) é feita através da disseminação de mensagens em broadcast. Considere ainda que ao interceptar a mensagem de requisição o servidor que abriga o serviço solicitado responda com um “i am here”. Explique porque o esquema apresentado não é adequado e como poderíamos melhorar a performance desse ambiente em relação a descoberta de um serviço. O esquema apresentado não é adequado pois as solicitações em broadcast podem degradar a performance da rede como um todo(impacto direto na escalabilidade do mesmo). Uma solução e a introdução de um servidor controlador, que a priori conheceria todos os endereços dos serviços, ou seja, a implantação de um serviço de nomeação. 4