Tecnologia
1. Definição: Conjunto de computadores ligados em rede, com software que permita a partilha de recursos e a coordenação de atividades, oferecendo idealmente um sistema integrado.
“Um sistema constituído por um conjunto de computadores independentes vistos pelos utilizadores do sistema como sendo um sistema coerente e único.” (Tanenbaum)
“Um sistema no qual componentes de hardware ou software localizadas em computadores em rede comunicam e coordenam as suas ações através da troca de mensagens” (Coulouris)
2. Características: Comunicação através de mensagens, Concorrência, Partilha de recursos, Sistema assíncrono, Falhas independentes, Heterogeneidade.
2.1 Comunicação através de mensagens: Os componentes comunicam-se através de mensagens. (não existem variáveis globais partilhadas) modelos de programação: cliente/servidor, modelo baseado em objectos, etc.
2.2 Concorrência: os vários utilizadores utilizam o sistema em simultâneo (é necessário coordenar o acesso aos recursos partilhados: hw, sw, dados)
2.3 Partilha de recursos: impressoras, discos, ferramentas para trabalho cooperativo, bases de dados. A partilha de recursos levanta questões de segurança. Gestores de recursos controlam o acesso a recursos partilhados.
2.4 Sistema Assíncrono: não existe um relógio global diferentes velocidades de processamento não existe um limite para o tempo de comunicação.
2.5 Falhas independentes: falhas na rede (perda de mensagens, duplicação, reordenação). Falhas em unidades de processamento (a falha de um componente não impede necessariamente os outros de funcionar).
2.6 Heterogeneidades: Um sistema distribuído pode possuir: diferentes tipos de rede, diferentes tipos de hardware (diferentes representações de dados, diferente código máquina), diferentes sistemas operativos (diferentes interfaces para os protocolos de comunicação), diferentes linguagens de programação (diferentes representações de estruturas de dados como arrays ou registos, etc.).