Comunicación entre procesos (IPC) en el sistema operativo

¿Qué es la comunicación entre procesos?

Comunicación entre procesos (IPC) se utiliza para intercambiar datos entre múltiples subprocesos en uno o más procesos o programas. Los Procesos pueden ejecutarse en una o varias computadoras conectadas por una red. La forma completa de IPC es comunicación entre procesos.

Es un conjunto de interfaces de programación que permiten a un programador coordinar actividades entre varios procesos de programa que pueden ejecutarse simultáneamente en un sistema operativo. Esto permite que un programa específico maneje muchas solicitudes de usuarios al mismo tiempo.

Dado que cada solicitud de un usuario puede dar como resultado la ejecución de múltiples procesos en el sistema operativo, es posible que los procesos requieran comunicarse entre sí. Cada enfoque de protocolo IPC tiene sus propias ventajas y limitaciones, por lo que no es inusual que un solo programa utilice todos los métodos IPC.

Enfoques para la comunicación entre procesos

A continuación, se muestran algunos métodos importantes para la comunicación entre procesos:

Enfoques para la comunicación entre procesos
Enfoques de comunicación entre procesos

Tubería

Pipe se usa ampliamente para la comunicación entre dos procesos relacionados. Este es un medio duplex método, por lo que el primer proceso se comunica con el segundo proceso. Sin embargo, para lograr un pleno duplex, se necesita otra tubería.

Paso de mensajes

Es un mecanismo para que un proceso se comunique y sincronice. Mediante el paso de mensajes, los procesos se comunican entre sí sin recurrir a variables compartidas.

El mecanismo IPC proporciona dos operaciones:

  • Enviar (mensaje): tamaño del mensaje fijo o variable
  • Recibido (mensaje)

Colas de mensajes

Una cola de mensajes es una lista vinculada de mensajes almacenados dentro del núcleo. Se identifica mediante un identificador de cola de mensajes. Este método ofrece comunicación entre procesos únicos o múltiples con full-du.plex capacidad.

Comunicación directa

En este tipo de proceso de comunicación entre procesos, deben nombrarse mutuamente explícitamente. En este método, se establece un vínculo entre un par de procesos en comunicación y entre cada par, sólo existe un vínculo.

Comunicación indirecta

La comunicación indirecta se establece sólo cuando los procesos comparten algo común. mailbox cada par de procesos comparte varios enlaces de comunicación. Un enlace puede comunicarse con muchos procesos. El enlace puede ser bidireccional o unidireccional.

Memoria compartida

La memoria compartida es una memoria compartida entre dos o más procesos que se establece utilizando memoria compartida entre todos los procesos. Este tipo de memoria requiere estar protegida entre sí sincronizando el acceso en todos los procesos.

FIFO

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

¿Por qué IPC?

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

  • Ayuda a acelerar la modularidad.
  • computacional
  • Separación de privilegios
  • Conveniencia
  • Ayuda al sistema operativo a comunicarse entre sí y sincronizar sus acciones.

Términos utilizados en IPC

El following Hay algunos términos importantes utilizados en IPC:

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

Señales: Es un método para comunicarse entre múltiples procesos mediante señalización. El proceso de origen enviará una señal que se reconoce por número y el proceso de destino la manejará.

Sugerencia de lectura: - ¿Qué es el semáforo? Binario, contando tipos con ejemplo

¿Qué es como FIFOS y a diferencia de FIFOS?

Como FIFOS A diferencia de FIFOS
Sigue el método FIFO. 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. Siempre listo, por lo que no es necesario abrirlo ni cerrarlo.
Permite la transferencia de datos entre procesos no relacionados. No tener ningún problema de sincronización entre abrir y cerrar.

Resumen

  • Definición: La comunicación entre procesos se utiliza para intercambiar datos entre múltiples subprocesos en uno o más procesos o programas.
  • Pipe se usa ampliamente para la comunicación entre dos procesos relacionados.
  • El paso de mensajes es un mecanismo para que un proceso se comunique y sincronice.
  • Una cola de mensajes es una lista vinculada de mensajes almacenados dentro del kernel.
  • El proceso directo es un tipo de proceso de comunicación entre procesos, que deben nombrarse explícitamente entre sí.
  • La comunicación indirecta se establece sólo cuando los procesos comparten algo común. mailbox cada par de procesos comparte varios enlaces de comunicación.
  • La memoria compartida es una memoria compartida entre dos o más procesos que se establece utilizando memoria compartida entre todos los procesos.
  • El método de comunicación entre procesos ayuda a acelerar la modularidad.
  • Un semáforo es una técnica de mecanismo de señalización.
  • La señalización es un método para comunicarse entre múltiples procesos mediante señalización.
  • Como FIFO sigue el método FIFO, mientras que a diferencia de FIFO usa el método para extraer mensajes urgentes específicos antes de que lleguen al frente.