Especificação De Sistemas Distribuídos
Pesquisas Acadêmicas: Especificação De Sistemas Distribuídos. Pesquise 862.000+ trabalhos acadêmicosPor: • 28/9/2014 • 1.022 Palavras (5 Páginas) • 318 Visualizações
Especificação de Sistemas Distribuídos
Especificação:
Descrição do serviço ou função que se espera que o sistema desempenhe
Especificação de Sistemas Distribuídos objetiva ilustrar o uso de notação de alto nível para capturar aspectos de concorrência/distribuição no desenvolvimento de software usando o modelo de comunicação baseado em troca de mensagens. Nós apresentamos uma abordagem de desenvolvimento de software onde operadores simples são usados para compor sub-sistemasseqüenciais, resultando em sistemas concorrentes/distribuídos. Além disso, mostramos como analisar propriedades de sistemas concorrentes (como deadlock, livelock e não-determinismo) bem como refinar (semelhante a refatorar, só que de maneira garantida) um sistema em outro melhor mas equivalente.
Sumário
Introdução
A interação entre cada computador é visar usar o maior numero possível de maquinas e tipos de computadores. Nos primeiros momentos os computadores eram maquinas grandes e caras. Aos longos dos avanços tecnológicos mudaram os sistemas informatizados. Exemplo disso tem:
• O desenvolvimento do microprocessador, que levaria ao desenvolvimento dos computadores pessoais,
• O desenvolvimento das redes de computadores que permitia que centenas de computadores fossem conectadas, possibilitando a transferência de dados entre os usuários.
Essas são as bases para o surgimento e o crescimento dos sistemas distribuído atualmente, sendo uma referencia a computação repartida entre os membros, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é compartilhar recursos do sistema tipo hardware software e concluir uma tarefa incomum de um sistema distribuído.
Portanto o trabalho tem como finalidade especificar a importância das vantagens e desvantagens do sistema distribuído, suas falhas e tolerância, alem de demonstrar a implementação de algoritmo e características básica.
Sistemas Distribuídos
Permite a existência de componentes de hardware e software distribuído na rede, obtendo-se dados e serviços de uma fonte distante, capturar aspectos de concorrência no desenvolvimento de software usando o modelo de comunicação baseado em troca de mensagens.
Aplicação de sistema distribuído
As aplicações que podem ser implementadas como sistemas distribuídos são muitos. Existem quatro vantagens básicas de se projetar uma aplicação para um sistema distribuído.
• Diminuição de tempo de execução da aplicação;
• Aumento do grau de confiabilidade e disponibilidade da aplicação;
• O uso de partes do sistema para fornecer especialização funcional;
A diminuição do tempo de execução da aplicação pode ser concluída através do uso do paralelismo existente em um sistema distribuído. Alguns programas terão seu tempo de execução.
Os sistemas distribuídos são potencialmente mais confiáveis, pois desde que os processadores são autônomos, uma falha em uma afeta o funcionamento correto dos demais. Portanto, a confiabilidade do sistema pode ser aumentada ao se replicar funções ou dados da aplicação nos vários processadores. Desse modo, se alguns elementos processadores falharem, os demais poderá continuar o serviço.
Distribuição em nível de componentes de software
Em geral os aspectos de software que podem estar distribuído:
Controle: relacionada diretamente com a distribuição do próprio sistema operativo, o que distingue um sistema distribuído de um sistema de arquitetura clássica é a distribuição de controle.
Programas distribuídos são aquele que se encontra espalhado por varias memórias primarias, sendo que cada uma é acedida por um processador diferente, o qual executa a parte do programa que se encontra na memória primária a ele associada.
A distribuição de dados pode-se ter:
• Sistemas de arquivos distribuídos
• Sistemas de banco de dados distribuídos.
Distribuição no nível de Hardware e Software
No Hardware: um sistema é distribuído quando não existe memória primaria compartilhada pelos elementos processadores, e não distribuído quando existe.
Quanto ao software, pode-se dizer, de modo geral, que um sistema é distribuído quando seus processos se comunicam através de mecanismos baseados em troca de mensagens.
Quatro esquemas de distribuição decorrente da combinação de hardware e software distribuído ou não.
Software distribuído sendo executado em um hardware distribuído: esse esquema caracteriza um sistema no qual os processos estão sendo executados e processadores separados e se comunicando através do uso primitivo enviar e receber, as quais troca mensagens sobre uma rede de longa distância;
Software distribuído sendo executado em hardware não distribuído: a troca de mensagens entre os processos é simulada através do uso de memória compartilhada.
Uma vantagem do uso do sistema distribuído é para implementação de aplicações que sejam inerentemente distribuídas.
Um exemplo é a implementação de uma aplicação de automoção de um departamento, onde cada setor poderia ter sua estação de trabalho contendo os dados e funções afetas a ele e podendo aceder dados de outros setores executando funções remotas.
Exemplos de sistema distribuído
Os servidores do motor de buscar Google encontram-se replicados em vários pontos do globo, nomeadamente America, Europa, Ásia etc se a pesquisa for feita em Moçambique a informação é buscada no servidor que esta bem África.
Numa organização a servidores dedicados:
• Servidor de impressora,
• Servidor de ficheiro, servidor de correio eletrônico,
• Servidor de base de dados.
Estes servidores respondem ás solicitações como entidade única, na medida em que os clientes, se não forem informados, não se apercebem que existem servidores dedicadas para realizar tarefas especificas.
Consequência da definição
Concorrência: execução concorrente de programas, a capacidade de execução concorrente pode ser ampliada com adição de novos computadores ao sistema.
Tanto serviço como aplicativos fornecem recursos que podem ser compartilhados pelos clientes em um sistema distribuído, desta forma, existe a possibilidade de que vários clientes tente acessar um recurso compartilhado ao mesmo tempo.
Inexistência de um relógio global: quando os programas precisam cooperar, eles coordenam suas ações através da troca de mensagens.
Falhas Independentes: falhas são inerentes, todos os componentes do sistema pode falhar independente, deixando ainda os outros em funcionamento.
Os sistemas distribuídos podem ser definidos como:
• Uma coleção de computadores independente que aparecem para o usuário como único sistema.
• Sistemas autônomos interconectados por uma rede de comunicação
• Processadores distribuídos cooperando para execução de processos, compartilhamento de recursos.
• A internet é um exemplo de sistema distribuído, os protocolos permitem que um programa em execução, em qualquer lugar envie mensagens para programas.
• Intranet
• Partes da internet administrada separadamente.
• Compostas por varias redes locais interligadas por redes de transporte (backbons).
• Tamanho pode variar desde um único site a múltiplos sites.
Desafios
Tratamentos de falhas
Devem ser parciais, ou seja, alguns componentes falham e outras continuam funcionando.
Transparência
É definida como ocultação para usuário final ou programador, de modo que o sistema seja percebido como um todo, em vez de uma única coleção de componentes independentes.
Tipos acesso
• Localização
• Concorrência
• Replicação
• Falhas
• Desempenho etc.
Referência
1. Steve Schneider. Concurrent and Real-time Systems: The CSP Approach. John-Wiley& Sons, 2000.
2. Roscoe, A.W. The Theory and Practice of Concurrency. Prentice-Hall, 1998.
...