Sistemas DistribuídosVisão geral
Comunicação entre Processos (IPC)
Comunicação entre processos (IPC) em um sistema distribuído é o conjunto de primitivas — enviar, receber e abstrações por cima — com que um processo numa máquina coopera com um processo noutra. Entre nós distintos não há célula de RAM comum; o único meio físico é a mensagem.
Filas, chamada remota, DSM e o contrato WSDL deste tópico — e relógio, exclusão mútua, difusão e consistência nos seguintes — partem dessa mensagem.
As páginas se agrupam em quatro blocos. O primeiro situa a mensagem: cooperativos combinam um fato pela mensagem; threads compartilham o espaço só no mesmo processo; DSM mapeia um endereço aparente sobre memórias locais.
O segundo classifica o envio em dois eixos: o sistema guarda até a entrega ou a mensagem se perde; o remetente bloqueia ou continua. Um intermediário pode receber no lugar do destino.
O terceiro esconde o envio atrás de uma chamada: o chamador escreve um procedimento, fica suspenso, e o resultado volta.
O quarto publica a operação num contrato padronizado, sem exigir o mesmo tipo nativo nos dois lados.
Independentes versus cooperativos, e contar mensagens em vez de bytes, estão em Introdução ao IPC. Por que uma thread em A não lê a RAM de B, e como DSM invalida ou atualiza, estão em Memória Compartilhada.
Persistente ou transiente, síncrona ou assíncrona, a fila com o destino desligado e o intermediário estão em Passagem de Mensagens e Filas. IDL, empacotamento, valor versus referência e os stubs estão em Chamadas de Procedimento Remoto (RPC).
Chamadas de Procedimento Remoto (RPC) empacota o inteiro nativo e a ordem de bytes a partir da IDL. Serviços Web descreve a operação em WSDL e carrega XML no envelope SOAP.
Páginas deste tópico
Introdução ao IPC
ProMédia incidência no POSCOMP9 min de leitura · 13ª mais cobrada em Sistemas Distribuídos
Mapa: em SD só há mensagens; RPC e DSM são abstrações.
Passagem de Mensagens e Filas
ProAlta incidência no POSCOMP11 min de leitura · 2ª mais cobrada em Sistemas Distribuídos
Persistente vs transiente × síncrona vs assíncrona; pub-sub indireto.
Chamadas de Procedimento Remoto (RPC)
ProAlta incidência no POSCOMP13 min de leitura · 4ª mais cobrada em Sistemas Distribuídos
IDL, marshalling/endianness, valor vs referência, stubs escondem mensagens.
Memória Compartilhada
ProAlta incidência no POSCOMP12 min de leitura · 5ª mais cobrada em Sistemas Distribuídos
Em SD não há memória física compartilhada; DSM é só abstração.
Serviços Web
ProBaixa incidência no POSCOMP9 min de leitura · 23ª mais cobrada em Sistemas Distribuídos
serviço Web (pilha W3C/SOAP/WSDL): contrato independente de linguagem; cliente e servidor não precisam ser a mesma linguagem