SISTEMAS DISTRIBUÍDOS E GAMA DE FUNCIONALIDADE
Por: draccon • 12/3/2018 • Trabalho acadêmico • 5.769 Palavras (24 Páginas) • 156 Visualizações
FATEC - FACULDADE DE TECNOLOGIA SENAI MATO GROSSO
SISTEMAS DISTRIBUÍDOS E SUA GAMA DE FUNCIONALIDADES
MARCOS HENRIQUE OLIVEIRA SILVA
CUIABÁ
2017
MARCOS HENRIQUE OLIVEIRA SILVA
SISTEMAS DISTRIBUÍDOS E SUA GAMA DE FUNCIONALIDADES
Trabalho apresentado para avaliação na disciplina de Sistemas Distribuídos da Faculdade De Tecnologia Senai Mato Grosso – FATEC.
Professor: Fahim
CUIABÁ
2017
SUMÁRIO
1 INTRODUÇÃO..................................................................................................1
2 SISTEMAS DISTRIBUÍDOS............................................................................2
3 AMBIENTES DE PROGRAMAÇÃO DISTRIBUÍDAS................................4
3.1 Discos Ativos e Modelo Baseado em Fluxos..................................................4
3.2 Formigueiro e Manutenção de Estados Distribuídos...................................5
4 ALGORITMOS DISTRIBUÍDOS....................................................................6
4.1 Difusão e coleta de informações em grafo.....................................................7
4.2 Difusão..............................................................................................................7
4.3 Coleta................................................................................................................7
4.4 Coleta em grafo................................................................................................7
5. SINCRONIZAÇÃO DE RELÓGIO................................................................8
6. ORDENAÇÃO DE EVENTOS........................................................................9
6.1 Ordenação Parcial...........................................................................................9
6.2 Ordenação Total..............................................................................................9
7. ALGORITMOS DE ELEIÇÃO PARA SISTEMAS DISTRIBUÍDOS........9
7.1 Algoritmo do Valentão..................................................................................10
7.2 Algoritmo em Anel.........................................................................................10
7.3 Algoritmo Yo-Yo............................................................................................11
8. EXCLUSÃO MÚTUA.....................................................................................11
9. DEADLOCK.....................................................................................................12
10. SOCKETS.......................................................................................................13
11. MIDDLEWARE.............................................................................................13
12. CONCLUSÃO................................................................................................14
REFERÊNCIAS...................................................................................................15
- Introdução
Os desafios computacionais em vários segmentos da computação desafiam os profissionais desta área que vem crescendo cada vez mais pelo mundo todo. Sempre houve maneiras de resolver problemas que estavam na frente de pesquisadores naquele exato momento ao longo da história, ou por necessidade daquele contexto histórico, ou pelo simples prazer de criar algo novo que fosse mudar o dia-a-dia de usuários comuns. Com o passar do tempo e a evolução dos computadores, vem aumentando o grau dos desafios que a computação tenta solucionar, e computadores que antes eram suficientes se tornaram incapazes de ajudar. Com isso se torna interessante o uso dos sistemas distribuídos juntamente com o processamento paralelo. A junção destas áreas da computação pode ajudar profissionais de vários segmentos da computação a resolver certos problemas de maneira em que o processamento possa ser dividido e distribuído pelas máquinas que formam o sistema distribuído, com isso custos com hardware serão diminuídos, e consequentemente um melhor desempenho no processamento.
- Sistemas Distribuídos
O agrupamento de vários computadores que estão interligados por meio de uma rede de alta velocidade por onde podem se comunicar é denominado sistema distribuído [1]. O principal objetivo que leva a construção de tal sistema é a necessidade dos usuários em compartilhar recursos sendo que o maior exemplo de um sistema distribuído é a internet, que comunica e disponibiliza recursos para usuários do mundo todo. [5]
Sabendo disso, é possível identificar algumas características presentes em um sistema distribuído, como: falhas de componentes individuais, concorrência e inexistência de um relógio global. Por ter estas características, existem alguns desafios que estão no caminho da implementação de um sistema distribuído, são eles: [5] [1].
- Transparência: levar ao usuário a percepção de estar utilizando um sistema único e coerente.
- Escalabilidade: o sistema tem condições de ser expandido minimizando a perda de desempenho.
- Confiabilidade: proporcionar certa tolerância a falhas, segurança sobre recursos e disponibilidade do sistema.
- Flexibilidade: a facilidade em se realizar mudanças seguindo padrões pré-estabelecidos.
A presença de computadores e tecnologias diferentes em um sistema distribuído traz a preocupação em relevar as diferenças, para que haja uma colaboração entre os componentes do sistema na troca de informação e também facilitar ao desenvolvedor a programação do sistema. Esta responsabilidade é de uma camada denominada middleware que fica situada entre a camada de aplicação e as camadas de hardware e sistema operacional.A Fig. 1 apresenta o posicionamento da camada de middleware em um sistema distribuído, com ela os usuários podem interagir de maneira consistente e uniforme.
...