SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosrobsons75
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoAdriano Teixeira de Souza
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosFrederico Madeira
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosValberto Carneiro
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosFrederico Madeira
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisWindson Viana
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisWindson Viana
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos DistribuídosFrederico Madeira
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosGustavo Monteiro
 
Tecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveisTecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveisLuiz Bettega
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosVictor Hazin da Rocha
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Arthur Emanuel
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaFrederico Madeira
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareAdriano Teixeira de Souza
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosMessias Batista
 

Was ist angesagt? (20)

Sistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidosSistemas operacionais sistemas-distribuidos
Sistemas operacionais sistemas-distribuidos
 
Sistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de ProjetoSistemas Distribuídos - Aspectos de Projeto
Sistemas Distribuídos - Aspectos de Projeto
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Introcucao aos Sistemas Distribuidos
Introcucao aos Sistemas DistribuidosIntrocucao aos Sistemas Distribuidos
Introcucao aos Sistemas Distribuidos
 
Apresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas DistribuídosApresentação da Disciplina de Sistemas Distribuídos
Apresentação da Disciplina de Sistemas Distribuídos
 
Capítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - CoulourisCapítulo 2 - Sistemas Distribuídos - Coulouris
Capítulo 2 - Sistemas Distribuídos - Coulouris
 
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - CoulourisCapítulo1 - Introdução a Sistemas Distribuídos - Coulouris
Capítulo1 - Introdução a Sistemas Distribuídos - Coulouris
 
SI - SAD - Sistemas de Arquivos Distribuídos
SI - SAD  - Sistemas de Arquivos DistribuídosSI - SAD  - Sistemas de Arquivos Distribuídos
SI - SAD - Sistemas de Arquivos Distribuídos
 
P2P - Sistemas Distribuídos
P2P - Sistemas DistribuídosP2P - Sistemas Distribuídos
P2P - Sistemas Distribuídos
 
SI - Arquiteturas
SI - ArquiteturasSI - Arquiteturas
SI - Arquiteturas
 
SI - Comunicação
SI - ComunicaçãoSI - Comunicação
SI - Comunicação
 
Tecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveisTecnologias para sistemas distribuidos escalaveis
Tecnologias para sistemas distribuidos escalaveis
 
Introdução a Sistemas Distribuídos
Introdução a Sistemas DistribuídosIntrodução a Sistemas Distribuídos
Introdução a Sistemas Distribuídos
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 
SI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplinaSI - Sistemas Distribuídos - Apresentação da disciplina
SI - Sistemas Distribuídos - Apresentação da disciplina
 
Sistemas Distribuídos - Clusters
Sistemas Distribuídos - ClustersSistemas Distribuídos - Clusters
Sistemas Distribuídos - Clusters
 
Sistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – MiddlewareSistemas Distribuídos - Comunicação Distribuída – Middleware
Sistemas Distribuídos - Comunicação Distribuída – Middleware
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídosAula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
Aula02 Sistemas Distribuídos - Caracterização de sistemas distribuídos
 

Ähnlich wie Caracterizacao de sistemas distribuidos

Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - ExercisesMichel Alves
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaAdriano Teixeira de Souza
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxChadidoDiogo1
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSilvano Oliveira
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreMauro Tapajós
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionaisDuFelix02
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoHus Juky
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fsopaulocsm
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasRafael Bandeira
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalCharles Fortes
 

Ähnlich wie Caracterizacao de sistemas distribuidos (20)

Distributed Systems - Exercises
Distributed Systems - ExercisesDistributed Systems - Exercises
Distributed Systems - Exercises
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas operativos distribuidos
Sistemas operativos distribuidosSistemas operativos distribuidos
Sistemas operativos distribuidos
 
Conceitos basicos
Conceitos basicosConceitos basicos
Conceitos basicos
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Atividade sd
Atividade sdAtividade sd
Atividade sd
 
Sistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e ParalelaSistemas Distribuídos - Computação Distribuída e Paralela
Sistemas Distribuídos - Computação Distribuída e Paralela
 
So cap01
So cap01So cap01
So cap01
 
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptxAula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
Aula CARACTERIZAÇÁO DE SISTEMAS distribuidos.pptx
 
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdfSO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
SO01 - Sistemas-Operacionais - Introdução Historico Conceitos.pdf
 
Serviço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma LivreServiço de Distribuição de SW em Plataforma Livre
Serviço de Distribuição de SW em Plataforma Livre
 
So cap01
So cap01So cap01
So cap01
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Questoesde fso
Questoesde fsoQuestoesde fso
Questoesde fso
 
Cloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações PráticasCloud Computing - Conceitos e Aplicações Práticas
Cloud Computing - Conceitos e Aplicações Práticas
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Introducao.2s
Introducao.2sIntroducao.2s
Introducao.2s
 
Sistema
SistemaSistema
Sistema
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 

Mehr von Portal_do_Estudante_SD

Mehr von Portal_do_Estudante_SD (7)

Sistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redesSistemas operativos distribuidos e de redes
Sistemas operativos distribuidos e de redes
 
Sd capitulo01
Sd capitulo01Sd capitulo01
Sd capitulo01
 
Modelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídosModelos de estruturação de sistemas distribuídos
Modelos de estruturação de sistemas distribuídos
 
Jdbc
JdbcJdbc
Jdbc
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Computacao distribuida com rmi
Computacao distribuida com rmiComputacao distribuida com rmi
Computacao distribuida com rmi
 
Arquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidosArquitectura e modelos de sistemas distribuidos
Arquitectura e modelos de sistemas distribuidos
 

Caracterizacao de sistemas distribuidos

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 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