Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula SD06
Aula SD06
interprocessos
Sistemas distribudos
Comunicao interprocessos
Contextualizao
Comunicao interprocessos
Introduo
Correo
atomicidade: todos ou nenhum recebem.
Entrega ordenada:
mensagens chegam na mesma ordem a todos os processos.
Garantia de entrega.
Flexibilidade
Nem todas as aplicaes tem as mesmas necessidades.
Segurana:
Autenticao dos pares
Codificao das mensagens
Portabilidade
Aplicaes e das bibliotecas (heterogeneidade)
Comunicao interprocessos
Modelos de comunicao:
Comunicao:
Sncrona: Processos usam verso bloqueante da primitiva.
Assncrona: Processos usam verses no bloqueantes da
primitiva.
Desvantagens da comunicao sncrona.
Limitao da concorrncia
Possibilidade de deadlock.
Vantagens da comunicao sncrona.
Programao simples.
Vantagens e desvantagens da Assncrona so dual da
sncrona.
Comunicao interprocessos
Semntica de sincronicao send/receive
Semntica do send:
Bloqueante: O processo do send espera a execuo do receive
correspondente.
No bloqueante: O processo fonte prossegue com a execuo
to logo a mensagem seja recebida (bufferizada).
Semntica do receive
Bloqueante: processo destino bloqueado at que a mensagem
seja recebida.
No bloqueante
Processo de destino retorna da chamada to logo seja reservada
uma rea de memria para recepo da mensagem.
Necessidade de saber se a mensagem chegou
Pooling: primitiva do tipo teste
Interrupo (signal)
Comunicao interprocessos
Estudo de caso: Protocolos Internet e API Socket
Tamanho da mensagem:
Necessidade de especificar o tamanho da rea de recepo.
Se menor que o necessrio mensagem truncada
Bloqueio
Geralmente Send no bloqueante e Receive bloqueante.
Recomendvel uso de threads.
Time-out
Limitar tempo de espera do receive
Problema: dimensionar o time-out
Recepo annima
Receive no especifica uma origem, porem possvel identificar
a fonte.
Comunicao interprocessos
Modelo de falhas UDP.
Funcionamento do TCP:
Validade: Usa timeout e retransmisses para tratar
perda de mensagens.
Integridade: Uso de checksum e nmero de
seqncia para garantir mensagens no corrompidas
nem duplicadas.
No totalmente confiveis:
Conexes TCP podem ser desfeitas:
Processo no distinguem entre falha de rede e falha de
processo
Processos no sabem identificar ser mensagens enviadas
recentemente foram recebidas ou no
Comunicao interprocessos
Representao externa de dados: