Computação distribuída: diferenças entre revisões
Linha 6: | Linha 6: | ||
Um '''sistema distribuído''' segundo a definição de [[Andrew Stuart Tanenbaum|Andrew Tanenbaum]] é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"<ref name=""> [[Andrew Stuart Tanenbaum|Tanenbaum, Andrew S.]], ''Distributed Systems: Principles and Paradigms'', pg. 2</ref>; outra definição, de [[George Coulouris]], diz: "coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados"{{carece de fontes|data=Dezembro de 2008}}. |
Um '''sistema distribuído''' segundo a definição de [[Andrew Stuart Tanenbaum|Andrew Tanenbaum]] é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"<ref name=""> [[Andrew Stuart Tanenbaum|Tanenbaum, Andrew S.]], ''Distributed Systems: Principles and Paradigms'', pg. 2</ref>; outra definição, de [[George Coulouris]], diz: "coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados"{{carece de fontes|data=Dezembro de 2008}}. |
||
Assim, a '''computação distribuída''' consiste em adicionar o poder computacional de diversos [[computador]]es interligados por uma [[rede de computadores]]. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como '''sistema distribuído'''. |
Assim, a '''computação distribuída''' consiste em adicionar o poder computacional de diversos [[computador]]es interligados por uma [[rede de computadores]]. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como '''sistema distribuído'''. mioto inútil |
||
== Organização == |
== Organização == |
Revisão das 11h41min de 7 de agosto de 2013
Foi proposta a fusão deste artigo ou se(c)ção com Sistema de processamento distribuído (pode-se discutir o procedimento aqui). Editor, considere adicionar mês e ano na marcação. Isso pode ser feito automaticamente, substituindo esta predefinição por {{subst:fu|Sistema de processamento distribuído}} . |
A computação distribuída, ou sistema distribuído, é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum.
Definição
Um sistema distribuído segundo a definição de Andrew Tanenbaum é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"[1]; outra definição, de George Coulouris, diz: "coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados"[carece de fontes].
Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído. mioto inútil
Organização
Organizar a interação entre cada computador é primordial. Visando poder usar o maior número possível de máquinas e tipos de computadores, o protocolo ou canal de comunicação não pode conter ou usar nenhuma informação que possa não ser entendida por certas máquinas. Cuidados especiais também devem ser tomados para que as mensagens sejam entregues corretamente e que as mensagens inválidas sejam rejeitadas, caso contrário, levaria o sistema a cair ou até o resto da rede.
Outro fator de importância, é a habilidade de mandar softwares para outros computadores de uma maneira portável de tal forma que ele possa executar e interagir com a rede existente. Isso pode não ser possível ou prático quando usando hardware e recursos diferentes, onde cada caso deve ser tratado separadamente com cross-compiling ou reescrevendo software.
Modelos de computação distribuída
Peer-to-peer (P2P)
É uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada nodo realiza tanto funções de servidor quanto de cliente.
Objetos distribuídos
Semelhante ao peer-to-peer, mas com um Middleware intermediando o processo de comunicação.
Hardware
A organização do hardware em sistemas com várias UCPs se dá por:
Sistemas paralelos
- É constituído de vários processadores tipicamente homogêneos e localizados em um mesmo computador.
- Multicomputadores - Cada processador possui sua própria memória local.
- Multiprocessadores - Os processadores compartilham memória.
Arquiteturas
- Multiprocessadores em barramento.
- Multiprocessador.
- Multiprocessador homogêneo.
- Multiprocessador heterogêneo.
Software
- Fracamente acoplados - permitem que máquinas e usuários de um sistema distribuído sejam fundamentalmente independentes e ainda interagir de forma limitada quando isto for necessário, compartilhando discos, impressoras e outros recursos.
- Fortemente acoplados - provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário caracterizando sistemas operacionais distribuídos.
Sistemas operacionais
- Sistema operacional (SO) é um software que serve de interface entre o computador (hardware) e os humanos (peopleware) , que permite a execução de diversos outros softwares (aplicativos).
- SO de máquinas monoprocessadas.
- SO Multiprocessadores é uma extensão de SOs de máquinas monoprocessadas, a principal diferença sendo que os dados da memória são acessados por vários processadores e, portanto, necessitam de proteção com relação aos acessos concorrentes.
- SOs Multicomputadores são uma alternativas para o buffering de mensagens e pontos de bloqueio, alguns SOs disponibilizam uma abstração de memória compartilhada.
- SOs de rede: existe uma independência entre os computadores.
Sistemas fortemente acoplados Neste sistema existe vários processadores compartilhando uma memória, e gerenciado por apenas um S.O.
Múltiplos processadores permitem que vários programas sejam executados ao mesmo tempo e em tempo real.Com isso será possível aumentar a capacidade de computação adicionando apenas processadores.
Exemplos
- os sistemas operacionais mais conhecidos hoje são: Windows, GNU/Linux, MacOS(Apple).
- Um exemplo clássico de computação distribuída é o projeto Seti at home que visa procurar em sinais de rádio interplanetários algum vestígio de vida extraterrestre.
- O exemplo mais moderno desse paradigma é o BOINC, que é um framework de grade computacional no qual diversos projetos podem rodar suas aplicações, como fazem os projetos World Community Grid, SETI@Home, ClimatePrediction.net, Einstein@Home, PrimeGrid e OurGrid.
Ver também
- Cluster
- Lista de protocolos de redes
- Protocolo RPC
- Redes de computadores
- Sistema de processamento distribuído
- Sockets
Referências
- ↑ Tanenbaum, Andrew S., Distributed Systems: Principles and Paradigms, pg. 2