Please enable JavaScript.
Coggle requires JavaScript to display documents.
Processos /2 - Coggle Diagram
Processos /2
Comunicação Interprocessos
Agilidade na computação
Modularidade
Compartilhamento de informações
Conveniência
(IPC – Interprocess Communication)
Memória compartilhada
Região de memória com acesso comum
Mais rápida que a troca de mensagens
não exigi muitas chamadas ao sistema
Velocidade máxima e conveniência de comunicação
Troca de mensagens
Útil para trocar pequenas quantidades de dados, evitando conflitos
Mais fácil de implementar
Sistemas de Memória
Compartilhada
Processos se comunicam e “combinam” uma
região de memória compartilhada
Dois ou mais processos concordam em remover o mecanismo de proteção de memória do SO
Formato e local dos dados são de
responsabilidade completa dos processos
envolvidos
SO não interfere
Processos são responsáveis por garantir que
não estarão escrevendo no mesmo local
simultaneamente
Sistema de Transmissão/Troca
de Mensagens
Processos se comunicam entre si
sem lançar mão de variáveis compartilhadas
Facilidade de passagem de mensagem
send
receive
Se P e Q quiserem se comunicar
estabelecer um link de comunicação entre eles
trocar mensagens por meio de send/receive
Implementação do link de comunicação
físico
lógico
Comunicação Direta
Processos devem nomear um ao outro explicitamente
send(P, mensagem)
receive(Q, mensagem)
Propriedades do link de comunicação
Um link é associado a exatamente um par de processos em comunicação
Entre cada par existe exatamente um link
Links são estabelecidos automaticamente
O link pode ser unidirecional, mas normalmente é bidirecional
Comunicação Indireta
As mensagens são direcionadas e recebidas de caixas de correio
Propriedades do link de comunicação
Operações
Primitivos são definidos como
send(A, mensagem) – envia uma mensagem à
caixa de correio A
receive(A, mensagem) – recebe uma mensagem da caixa de correio A
Sincronização
A passagem de mensagens pode ser com bloqueio ou sem bloqueio
Bloqueio é considerado síncrono
Não bloqueio é considerado assíncrono