"Um sistema distribuido é uma coleção de computadores independentes que aparece para os usuários do sistema como um único computador" (Tanenbaum)
Levando em consideração a definição dada pelo Tanenbaum, sistema distribuido é aquele que roda em um conjunto de máquinas sem memória compartilhada e mesmo assim aparece para os usuários como se fosse um único computador.
Sistemas Centralizados X Sistemas Distribuídos
A principal diferença entre os sistemas centralizados dos distibuídos está na forma de comunicação e sincronismo entre os processos.
Os sistemas centralizados realizam a sincronização por áreas compartilhadas de memória, já nos sistemas distribuídos a sincronização é obtida através da troca de mensagem.
Características desejáveis nos Sistemas Distribuídos:
- Compartilhamento otimizado dos recursos: São hardware (impressora, scanners, e outros equipamentos) e aplicativos, dados ou arquivos que são gerenciados por softwares servidores;
- Estrutural: Sistemas distribuídos devem refletir a estrutura organizacional distribuída a qual eles servem.
- Transparência: Um software gerencial esconde dos usuários os componentes que formam o sistema todo, fazendo com que o usuário enchergue apenas o que lhe interessa, que é a aplicação como se fosse um sistema único. O processo do usuário pode ser executado de qualquer máquina da rede, sendo escolhida pelo sistema, conforme a disponibilidade do momento.
Alguns tipos de tranparências que podem ser encontradas:
- Transparência de Acesso: As operações de acesso à determinados dados, recursos ou dispositivos devem estar localizadas em um único sistema, independentemente se as operações encontram-se na mesma máquina onde foram solicitadas ou em um equipamento remoto.
- Transparência de Localização: Os recursos, dados ou dispositivos que serão compartilhados e acessados não devem fornecer aos usuários informações relevantes referente a sua localização.
- Tranparência de Migração: Os recursos podem ser transferidos de um servidor à outro do sistema e isso não deve interferir na forma de referência dos usuários a esses recursos.
- Transparência de Replicação: O sistema distribuído deve ser capaz de gerenciar a replicação de informações de forma transparente aos usuários
- Tranparência em relação à falhas: O sistema distribuído deve gerenciar as falhas tornando assim um problema isolado e não compartilhar um determinado problema com todo o sistema de compartilhamento.
- Confiabilidade: Não se pode de maneira alguma sofrer perda ou adulteração nos dados. Deve-se manter a integridade total dos dados. E também deve-se manter:
- Disponibilidade: Deve estar sempre apto a ser utilizado;
- Segurança: Proteger os recursos de acessos não autorizados;
- Tolerância a falhas: Redundância no hardware e software (Backup's)
- Desempenho: Compartilhamento de recursos com melhor utilização da carga de processamento entre todas as máquinas do sistema.
- Escalabilidade: Agregar novos valores de recursos sem afetar o desempenho do sistema. Apesar de não haver limitação em número de máquinas e nem distância e diversidade das mesmas, aumenta-se o nível de complexidade no gerenciamento do sistema. Portanto deve-se introduzir softwares e máquinas conforme a necessidade facilitando a manutenção do sistema e o isolamento de falhas.
- Flexibilidade: O sistema deve ser flexível para permitir mudanças, caso haja necessidade de acomodar um novo recurso.
Vantagens dos Sistemas Distribuídos
- Compartilhamento dos recursos: Usuários de um site pode compartilhar com outros sites arquivos e dispositivos (impressora, scanner, etc)
- Velocidade de computação: Um processamento pode ser dividido entre as máquinas que compõem o sistema distribuído, assim aumentando a velocidade de processamento de determinada operação.
- Confiabilidade: Em um sistema distribuído, se um site falhar os sites restantes poderão continuar operando. Uma ação deve ser tomada para recuperar o site que ocorre a falha, enquanto isso, outro site deve assumir a funcionalidade do site em manutenção. Quando o site que contém a falha for recuperado o sistema trata de integrá-lo novamente.
- Comunicação: Troca de informação em longa distância entre os computadores conectados na rede.
Todas essas vantagens resultam em um downsizing (redução radical) onde as empresas e instituições obtêm mais retorno do investimento, mais flexibilidade na localização de recursos e expansão das instalações e melhores interfaces de usuários.
Problemas ou Desafios de um Sistema Distribuído:
- Problemas com software: Os Sistemas operacionais, linguagem e aplicativos para este ambiente são relativamente novos e não estão plenamente consolidados.
- Problemas de rede: Seja rede local ou longa distancia, não existe confiabilidade total para interligação, logo pode ocorrer perda de link ou saturação devido a sobrecarga na banda disponível.
- Problema de segurança - Acesso indevído: Uma vez que os dados existentes no sistema podem ser facilmente acessados, fica fácil um usuário acessar dados os quais ele não deveria ter acesso.
Exemplos e Aplicabilidade de Sistemas Distribuídos:
- Internet (World Wide Web): Maior sistema distribuido;
- Sistemas Bancários;
- Sistemas de Hipermercados;
- etc;
Nenhum comentário:
Postar um comentário