Você está na página 1de 8

Sumário

1. Caracterização de Sistemas Distribuídos .................................................................... 2


1.1. Distribuição a Nível de Hardware e Software ........................................................ 3
1.2. Distribuição a Nível de Componentes de Software ................................................ 4
2. Aplicação de Sistemas distribuídos ............................................................................ 5
3. Exemplos de sistemas distribuídos ............................................................................. 6
4. Condicionantes da Evolução....................................................................................... 7
4.1. Tecnológicos ........................................................................................................... 7
4.2. Requisitos................................................................................................................ 7

Página 1 de 8
1. Caracterização de Sistemas Distribuídos

Sistemas de computação distribuída podem diferir bastante entre si, dependendo do modo
pelo qual seus processadores estão conectados. Dentre as várias arquitecturas que
utilizam múltiplos processadores tem-se, por exemplo:
1. Computadores vectoriais – desenvolvidos para lidar com cálculos científicos
complexos, como por exemplo, cálculos relacionados à previsão do tempo. Um
computador vectorial é caracterizado por poder realizar operações em vectores
completos através de uma simples instrução.
2. Multiprocessadores – compartilham memória (vide Fig. 2);
3. Multicomputadores – cada processador possui sua própria memória local (vide
Fig. 3); e
4. Sistemas compostos por várias estações de trabalho conectadas por uma rede local
ou por uma rede de longa distancia (vide Fig. 4).

Fig. 1: Multiprocessadores

Fig. 2: Multicomputador

Fig. 3: Sistema distribuído de longa distancia

Página 2 de 8
1.1. Distribuição a Nível de Hardware e Software

No tocante ao Hardware, um sistema é distribuído quando não existe memória primária


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 (cooperam) através de mecanismos baseados em troca de
mensagens, Isso porque supõe-se, a princípio, que o hardware hospedeiro é distribuído,
portanto, processos residentes em elementos processadores diferentes podem trocar
informações somente via rede de comunicação, por meio de emissão e recepção de
mensagens. Analogamente, um sistema é não distribuído quando seus processos se
comunicam através de dados compartilhados.

Ignorando, no momento, essas premissas, existem, então, quatro esquemas de


distribuição, decorrente da combinação de hardware e software distribuídos ou não, os
quais são:
a. Software distribuído sendo executado em um hardware distribuído: esse esquema
caracteriza um sistema no qual os processos estão sendo executados em
processadores separados e se comunicando através do uso de primitivas do tipo
"Envia e Recebe", as quais trocam mensagens sobre uma rede local ou uma rede
de longa distância;
b. Software distribuído sendo executado em um hardware não distribuído: aqui a
troca de mensagens entre os processos é simulada através do uso de memória
compartilhada;

Página 3 de 8
c. Software não distribuído sendo executado em um hardware distribuído: aqui o
objectivo é esconder a distribuição física, fazendo com que o sistema aparente
possua memória compartilhada;
d. Software não distribuído sendo executado em um hardware não distribuído:
esquema que caracteriza os sistemas convencionais que são fortemente
acoplados 1 .

1.2. Distribuição a Nível de Componentes de Software

Em geral, existem três aspectos de software que podem estar distribuídos: dados,
programas e controle.

No tocante a distribuição de dados, pode-se ter: sistemas de arquivos distribuídos e


sistemas de banco de dados distribuídos.

No que diz respeito a programas, pode-se ter: programas centralizados e programas


distribuídos. Um programa centralizado é aquele que é executado em uma arquitectura na
qual cada um dos processadores pode executar qualquer instrução desse programa. Já um
programa distribuído é aquele que se encontra espalhado por várias memórias primárias,
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 do controle está relacionada directamente com a distribuição do próprio


sistema operativo. O que distingue um sistema distribuído de um sistema de arquitectura
clássica é a distribuição do controle. O controle é centralizado quando a execução de um
programa, em qualquer instante, está sob os cuidados de um único elemento processador.
Já, quando o controle é distribuído, a execução de um programa está sob os cuidados de
mais que um elemento processador.

1
Em termos de hardware, fortemente acoplada, significa, baixo retardo na transmissão de mensagens, alta taxa de
transmissão e, na vertente de software, fracamente acoplado, significa, máquinas e usuários funcionalmente
independentes uns dos outros, podendo interagir num grau limitado quando necessário.

Página 4 de 8
2. Aplicação de Sistemas distribuídos

As aplicações que podem ser implementadas como sistemas distribuídos são muitas.
Existem quatro vantagens básicas de se projectar uma aplicação para um sistema
distribuído, a saber:
• Diminuição do 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; e
• A inerente distribuição da aplicação.

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 seus tempos de
execução diminuídos se partes desses programas forem executados em processadores
diferentes ao mesmo tempo.

Exemplo de aplicações é a compilação paralela de módulos de um dado programa em


máquinas diferentes, e a implementação de algoritmo de busca heurística (Algoritmos de
Busca são técnicas de Inteligência Artificial aplicadas a problemas de alta complexidade
teórica que não são resolvidos com técnicas de programação convencionais,
principalmente as de natureza puramente numérica).

Os sistemas distribuídos são potencialmente mais confiáveis, pois desde que os


processadores são autónomos, uma falha em um não afecta o funcionamento correcto dos
demais. Portanto, a confiabilidade do sistema pode ser aumentada ao se replicar funções
e/ou dados da aplicação nos vários processadores. Desse modo, se alguns elementos
processadores falharem, os demais poderão continuar o serviço. Exemplos clássicos de
aplicações tolerantes a faltas (falhas) são o controle de um avião e o controle de uma
fábrica automatizada.

Página 5 de 8
A implementação de uma aplicação como um conjunto de serviços especializados
amolda-se no ambiente de um sistema distribuído. Um exemplo é um ambiente que
forneça um servidor de arquivos, um servidor de impressão, um servidor de processos,
um servidor de tempo, um servidor de carga e um servidor de "gateway".

Cada um desses serviços pode usar um ou mais processadores dedicados, garantindo bom
desempenho e alta confiabilidade. Os servidores podem trocar requisições entre si através
da rede. É fácil adicionar novos processadores para atender a novos serviços ou para
aumentar a capacidade computacional de serviços já existentes. Recursos especiais do
sistema são passíveis de serem compartilhados, pois os processadores se comunicam
através da rede.

Uma outra vantagem do uso de sistemas distribuídos é para a implementação de


aplicações que sejam inerentemente distribuídas. Um exemplo clássico é a
implementação de uma aplicação de automação de um departamento, onde cada sector
poderia ter sua estação de trabalho contendo os dados e funções afectas a ele e podendo
aceder dados de outros sectores executando funções remotas.

3. Exemplos de sistemas distribuídos

Os servidores do motor de busca Google encontram-se replicados em vários ponto do


globo, nomeadamente América, Europa, Ásia, África, …. Se pesquisa for feita em
Moçambique a informação é buscada no servidor que está bem África, por exemplo, aqui
ganha-se bastante no tempo de busca.

Numa organização em há servidores dedicados: Servidor de Impressora, Servidor de


Ficheiros, Servidor de Correio Electrónico, Servidor de Base de Dados,… Estes
servidores respondem às solicitações como entidade única, na media em que os clientes,
se não forem informados, não se apercebem que existem servidores dedicados para
realizarem tarefas específicas.

Página 6 de 8
4. Condicionantes da Evolução

Destacam-se dois aspectos condicionantes a evolução de sistemas distribuídos: os


tecnológicos e os requisitos:

4.1. Tecnológicos
a. Redes de computadores
b. Computadores pessoais
c. Sistemas abertos
d. Arquitectura de Computadores
i. Grande aumento da: potência de cálculo, memória, e disco
ii. Utilização de componentes de h/w standard
iii. Multiprocessamento económico e eficaz
iv. Alguma uniformização do s/w de sistema
1. SO: Windows, Unix, IBM MVS
2. BD’s: Oracle, Informix,Sybase, SQL-Server, DB2

4.2. Requisitos
e. Utilizadores finais
i. Transparência
ii. Partilha de informação
iii. Melhoria de comunicação entre pessoas
iv. Segurança e protecção
v. Fiabilidade e disponibilidade
f. Programadores
i. Interfaces normalizadas
ii. Ambientes de programação independentes das características da
h/w e das redes

Página 7 de 8
iii. Controlo sobre o desempenho, fiabilidade, disponibilidade,
segurança
g. Gestores
i. Investimento reduzido
ii. Modularidade e extensibilidade na evolução do sistema
iii. protecção do investimento anterior
iv. Adequação às equipas técnicas
v. Optimização da gestão dos recursos
vi. Desempenho, disponibilidade, fiabilidade, segurança

Página 8 de 8

Você também pode gostar