Comunicação entre processos (ipc)

Definição - O que significa Inter Process Communication (IPC)?

A comunicação entre processos (IPC) é um mecanismo que permite a troca de dados entre processos. Ao fornecer a um usuário um conjunto de interfaces de programação, o IPC ajuda o programador a organizar as atividades entre diferentes processos. O IPC permite que um aplicativo controle outro aplicativo, permitindo assim o compartilhamento de dados sem interferência.

O IPC permite a comunicação de dados, permitindo que os processos usem segmentos, semáforos e outros métodos para compartilhar memória e informações. O IPC facilita a transferência eficiente de mensagens entre processos. A ideia do IPC é baseada na Arquitetura de Controle de Tarefas (TCA). É uma técnica flexível que pode enviar e receber matrizes de comprimento variável, estruturas de dados e listas. Ele tem a capacidade de usar paradigmas de transferência de dados de publicação / assinatura e cliente / servidor, ao mesmo tempo em que oferece suporte a uma ampla variedade de sistemas operacionais e linguagens.

Definirtec explica comunicação entre processos (IPC)

O mecanismo IPC pode ser classificado em canais, primeiro a entrar, primeiro a sair (FIFO) e memória compartilhada. Pipes foram introduzidos no sistema operacional UNIX. Nesse mecanismo, o fluxo de dados é unidirecional. Um tubo pode ser imaginado como um tubo flexível no qual os dados entram por uma extremidade e saem pela outra. Um pipe é geralmente criado invocando a chamada do sistema de pipe, que por sua vez gera um par de descritores de arquivo. Os descritores geralmente são criados para apontar para um nó de tubo. Uma das principais características dos tubos é que os dados que fluem por um tubo são transitórios, o que significa que os dados podem ser lidos do descritor de leitura apenas uma vez. Se os dados forem gravados no descritor de gravação, os dados podem ser lidos apenas na ordem em que foram gravados.

O princípio de funcionamento do FIFO é muito semelhante ao dos tubos. O fluxo de dados em FIFO é unidirecional e é identificado por pontos de acesso. A diferença entre os dois é que o FIFO é identificado por um ponto de acesso, que é um arquivo dentro do sistema de arquivos, enquanto os canais são identificados por um ponto de acesso.