¿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:
- Enviar (mensaje): tamaño de mensaje fijo o variable
- Recibido (mensaje)
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:
- Ayuda a acelerar la modularidad
- Computacional
- Separación privilegiada
- Conveniencia
- Ayuda al sistema operativo a comunicarse entre sí y sincronizar sus acciones.
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 FIFOS | A diferencia de FIFOS |
Sigue el modo FIFO | Un 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:
- Definición: La comunicación entre procesos se utiliza para intercambiar datos entre varios subprocesos en uno o más procesos o programas.
- La tubería se usa ampliamente para la comunicación entre dos procesos relacionados.
- El paso de mensajes es un mecanismo para comunicar y sincronizar un proceso.
- Una cola de mensajes es una lista enlazada de mensajes almacenados dentro del kernel.
- Un proceso directo es un tipo de proceso de comunicación entre procesos, deben nombrarse explícitamente entre sí.
- 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.
- 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.
- 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 de comunicación entre múltiples procesos a través de la señalización.
- Como sigue el modo FIFO FIFO, pero a diferencia de FIFO, utilice un método para extraer mensajes urgentes específicos antes de que lleguen al frente.