Saltar al contenido

Comunicación entre procesos (IPC)

¿Qué es la comunicación entre procesos?

Comunicación entre procesos (IPC) se utiliza para intercambiar datos entre varios subprocesos en uno o más procesos o programas. Los procesos pueden estar ejecutándose en una o varias computadoras conectadas a una red. La forma completa de IPC es la comunicación entre procesos.

Es un conjunto de interfaces programadas que permiten a un programador coordinar actividades entre diferentes procesos de programa que pueden ejecutarse simultáneamente en un sistema operativo. Esto permite que un programa particular maneje muchas solicitudes de usuarios a la vez.

Debido a que cada solicitud de usuario individual puede resultar en múltiples procesos que se ejecutan en el sistema operativo, es posible que el proceso deba comunicarse entre sí. Cada enfoque de protocolo IPC tiene sus propias ventajas y limitaciones, por lo que no es raro que un programa utilice todos los métodos IPC.

En este tutorial del sistema operativo, aprenderá:

Enfoque de comunicación entre procesos

Aquí hay muchos métodos importantes para la comunicación entre procesos:

Tubería

La tubería se usa ampliamente para la comunicación entre dos procesos relacionados. Este es un método semi-duplicado, por lo que el primer proceso se comunica con el segundo proceso. Sin embargo, para lograr un dúplex completo, se requiere otra tubería.

Pase de mensaje:

Es un mecanismo para el proceso de comunicación y sincronización. Mediante el paso de mensajes, el proceso se comunica entre sí sin recurrir a variables compartidas.

El mecanismo de IPC proporciona dos operaciones:

Colas de mensajes:

Una cola de mensajes es una lista enlazada de mensajes almacenados dentro del kernel. Se reconoce mediante un identificador de cola de mensajes. Este método proporciona comunicación entre procesos únicos o múltiples con capacidad de duplicación completa.

Comunicación directa:

En este tipo de proceso de comunicación entre procesos, deben nombrarse explícitamente entre sí. En este método, se establece un enlace entre un par de procesos de comunicación, y entre cada par, solo hay un enlace.

Comunicación indirecta:

La comunicación indirecta se establece solo cuando los procesos comparten un buzón común, cada par de procesos tiene varios enlaces de comunicación. Una conexión puede comunicarse con muchos procesos. El enlace puede ser bidireccional o unidireccional.

Memoria compartida:

La memoria compartida es la memoria compartida entre dos o más procesos que se establece mediante el uso de memoria compartida entre todos los procesos. Este tipo de memoria requiere protección entre sí al sincronizar el acceso en todos los procesos.

FIFO:

Comunicación entre dos procesos no relacionados. Es un método completamente duplicado, lo que significa que el primer proceso puede comunicarse con el segundo proceso y puede suceder lo contrario.

¿Por qué IPC?

Estas son las razones para utilizar el protocolo de comunicación entre procesos para compartir información:

Términos utilizados en IPC

A continuación, se muestran algunos términos importantes que se utilizan en IPC:

Semáforos: Un semáforo es una técnica de mecanismo de señalización. Este método de sistema operativo permite o utiliza el acceso a, o depende de, el recurso dependiendo de cómo esté configurado.

Señales: Es un método de comunicación entre múltiples procesos mediante señalización. El proceso enviará una fuente de señal identificada numéricamente y el proceso de destino la manejará.

Cómo es FIFOS y a diferencia de FIFOS

Como FIFOSA diferencia de FIFOS
Sigue el modo FIFOUn método para extraer mensajes urgentes específicos antes de que lleguen al frente.
FIFO existe independientemente de los procesos de envío y recepción.Esté siempre listo para no tener que abrir o cerrar.
Permite la transferencia de datos entre procesos no relacionados.Sin problemas de sincronización entre abrir y cerrar.

Resumen: