Binarios
Em ambientes multiprogramação e de rede, é comum que processos se comuniquem uns com os outros. Muitos sistemas operacionais fornecem mecanismos para comunicação interprocessos (IPC) que, por exemplo, habilitam um editor de texto a enviar um documento ao spooler (que é um serviço que gerencia a parte de impressão do Windows), de uma impressora ou um navegador Web a recuperar dados de um servidor remoto.
Comunicação interprocessos também é essencial para processos que devem coordenar (sincronizar) atividades para alcançar uma meta comum.
Sinais são interrupções de software que notificam ao processo que um evento ocorreu.
Processos podem capturar, ignorar, ou mascarar o sinal. Ou seja, um processo captura um sinal especificado uma rotina que o sistema operacional chama quando entrega o sinal.
Troca de Mensagens para cada mensagem um processo é o emissor, o outro o receptor, ou seja, a troca de mensagens pode ser bidirecional enquanto o processo participa da comunicação interprocessos.
Há 2 tipos de envio:
Envio bloqueante esse deve esperar que o receptor receba a mensagem solicitando que esse notifique o emissor quando a mensagem for recebida (essa notificação é denominada confirmação).
Já o Envio não bloqueante habilita o emissor a continuar com outro processamento mesmo que o receptor ainda não tenha recebido (e confirmado) a mensagem, o que exige um mecanismo de buffer de mensagens para guardar a mensagem até que o receptor o receba.
Um envio bloqueante é um exemplo de comunicação síncrona;
E um envio não bloqueante é um exemplo de comunicação assíncrona;
Uma implementação popular da troca de mensagens é um pipe – uma região na memória protegida pelo sistema operacional que serve como buffer, permitindo que dois ou mais processos troquem dados.