Introdução Sistemas Distribuidos
Pesquisas Acadêmicas: Introdução Sistemas Distribuidos. Pesquise 862.000+ trabalhos acadêmicosPor: dri.3103 • 21/9/2013 • 2.712 Palavras (11 Páginas) • 923 Visualizações
Introdução aos Sistemas Distribuídos
Sistema distribuído é uma coleção de computadores independentes que aparenta ser uma só máquina para o usuário, temos a implementação de concorrência, compartilhamento dos recursos, por exemplo, impressoras, CDs e além de hardware também o compartilhamento de software tem uma alta capacidade de processamento, é confiável, porém temos os pontos negativos também, que é a parte de proteger certos tipos de dados, ou seja, temos várias partes onde certos usuários não podem acessar e outras que outros podem, então isso deve ser tratado, melhorarem a rede para que a comunicação possa ser instantânea, para que não tenhamos perda de processamento. 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.
IPC
Em computação , comunicação entre processos (IPC) é um conjunto de métodos para a troca de dados entre vários tópicos em um ou mais processos. Os processos podem ser executado em um ou mais computadores ligados por uma rede. Métodos IPC são divididos em métodos para a passagem de mensagens, sincronização, memória compartilhada, e chamadas de procedimento remoto (RPC). O método de IPC utilizados podem variar de acordo com a largura de banda e latência de comunicação entre os segmentos, e o tipo de dados a serem transmitidos.
Há várias razões para fornecer um ambiente que permita a cooperação de processos:
• O compartilhamento de informações
• Speedup Computacional
• Modularidade
• Conveniência
• Separação de privilégios
IPC também pode ser referido como a comunicação inter-thread e comunicação inter-aplicação.
Principais Métodos do IPC
Método Curta Descrição Oferecido por ( sistemas operacionais ou outros ambientes)
Arquivo
Um registro armazenado em disco que pode ser acessado pelo nome por qualquer processo A maioria dos sistemas operacionais
Sinalizar
Uma mensagem do sistema emitida de um processo para outro, geralmente não usado para armazenar informações, mas em vez disso dar comandos. A maioria dos sistemas operacionais, alguns sistemas, como o Windows, implementar sinais apenas a biblioteca de tempo de execução C e fornecer nenhum apoio para a sua utilização como um método IPC [ carece de fontes? ]
Soquete
Um fluxo de dados enviados através de uma interface da rede, quer a um processo diferente no mesmo computador ou para outro computador A maioria dos sistemas operacionais
Fila de mensagens
Um fluxo anônimo de dados semelhante ao tubo, mas armazena e recupera informações em pacotes .
A maioria dos sistemas operacionais
Tubo
Um fluxo de dados bidirecional através de interface de entrada e saída padrão e é ler caractere por caractere.
Todos POSIX sistemas, o Windows
Pipe nomeado (FIFO)
Os pipes nomeados, ou FIFOs, são ficheiros especiais que servem de canal de comunicação entre processos. Um processo abre o FIFO para escrita, outro para leitura. Todos os sistemas POSIX, o Windows
Semáforo
A estrutura simples que sincroniza threads ou processos que agem sobre os recursos compartilhados. Todos os sistemas POSIX, o Windows
Memória compartilhada
Vários processos tenham acesso à mesma memória , permitindo que todos possam alterá-lo e ler as alterações feitas por outros processos. Todos os sistemas POSIX, o Windows
Passagem de mensagens (nada comum) Semelhante à fila de mensagens. Usado em MPI paradigma, Java RMI , CORBA , DDS , MSMQ , mailslots , QNX , outros
Arquivo de memória mapeada
Um arquivo mapeado para memória RAM e pode ser modificado alterando endereços de memória diretamente, em vez de produzir a um córrego, ações mesmos benefícios que um padrão de arquivo .
Todos os sistemas POSIX, o Windo
Comunicação via Memória Compartilhada
Vantagens:
• Mais eficiente (rápida), já que não exige a cópia de dados para
alguma estrutura do núcleo.
Inconveniente:
• Problemas de sincronização.
Comunicação via Núcleo
Vantagens:
• Pode ser realizada em sistemas com várias CPUs.
• Sincronização implícita.
Inconveniente:
• Mais complexa e demorada (uso de recursos adicionais do núcleo).
Modelos de Comunicação
Difusão (“broadcast”):
• o emissor envia a mesma mensagem a todos os receptores.
o Produtor envia mensagem a todos os consumidores, sem saber quem e quantos são.
Comunicação “broadcast”.
Produtor-consumidor:
• comunicação uni-direcional.
Conexão unidirecional fixa, do produtor para o consumidor.
Comunicação “Unicast”.
Cliente-servidor:
• cliente
...