processo de comunicacao
OPERACIONAIS
Comunicação entre Processos
Andreza Leite andreza.leite@univasf.edu.br Plano de Aula
Introdução a Comunicação entre Processos
Pipes
Sockets
RMI
Corba
Comunicação entre Processos
Em ambientes de multipramação é comum que processos se comuniquem uns com os outros.
Muitos SOs disponibilizam mecanismos para IPC
(Interprocess Comunication).
Habilitam um editor de texto a enviar um doc para o spooler de uma impressora ou um navegador web a recuperar dados de um servidor remoto.
Essencial para processos que devem coordenar(sincronizar) atividades para alcançar meta comum
IPC – Toca de mensagens
Com os SDs cresceu o interesse na comunicação baseada em mensagens.
Mensagens podem ser passadas em uma direção por vez
Processo age como emissor e receptor
Troca de mensagens pode ser bidirecional
Fazem chamadas como: send(processoReceptor, mensagem) receive(processoEmissor, mensagem)
Pipes
Implementação popular da troca de mensagens.
Uma região da memória serve como buffer com acesso sincronizado pelo SO.
Um processo escritor escreve os dados. SO pausa sua execução permitindo que o leitor leia os dados.
O leitor vai fazendo a leitura dos dados (esvaziando o buffer).
SO pausa a execução do leitor e permite que o escritor volte a escrever. Socket
Componente de software disponibilizado pelo SO para permitir que um programa receba corretamente pacotes de dados direcionados a ele.
Um programa cria um Socket Server e o ativa para poder receber solicitações.
Este Socket Server é caracterizado por um endereço
Outros programas que conheçam esse endereço podem se comunicar com o programa servidor.
Socket
Um exemplo passos envolvidos no estabelecimento de um socket:
Criar um socket com a chamada ao sistema socket().
Amarrar o socket a um endereço usando a chamada ao sistema bind().
Na Internet, um endereço consiste num par IP/porta.
Enviar e receber dados com chamada ao sistema
recvfrom()