Eu aprendi abaixo dos mecanismos do IPC,
-
Tubos half-duplex do estilo BSD
-
Filas de mensagens no estilo SYSV
-
Conjuntos de semáforos de estilo SYSV
-
Segmentos de memória compartilhada no estilo SYSV
-
Soquetes de estilo BSD
Tubo half-duplex pode ser usado como comunicação de processo 1-1, unidirecional. Qualquer processo conectado deve compartilhar um ancestral relacionado. pipe()
permite a comunicação entre processos, dentro de um sistema .
A fila de mensagens (lista vinculada) pode ser usada como comunicação de processo 1-1, bidirecional entre dois processos ( long mtype
) dentro de um sistema . Para cada msgsnd()
de um processo cria um item na fila (lista vinculada), correspondendo msgrcv()
de outro processo, leia / exclua o item da fila.
Amemóriacompartilhadapodeserusadacomoumacomunicaçãodemuitosprocessos,bidirecional,dentrodeumsistema.Internamente,éummapeamentodeumaárea(segmento)dememóriaqueserámapeadaecompartilhadapormaisdeumprocesso.
O soquete BSD ( socket()
/ bind()
/ listen()
/ accept()
) pode ser usado para muitos ( cliente ) - um ( servidor ) dois comunicação de saída entre sistemas com SO diferente , mas em um modo cliente-servidor.
Pergunta:
1)
Em sistemas com SO similar, o que é o mecanismo IPC (fornecido pelo Linux) para muitos processos de comunicação, no modo não cliente-servidor ?
2)
Em sistemas com sistemas operacionais diferentes, qual é o mecanismo IPC (fornecido pelo Linux) para muitos processos de comunicação, no modo não cliente-servidor ?