IPC significa Comunicación entre procesos . Es un medio para la comunicación de procesos. Es una técnica en la que un sistema operativo permite que todos los procesos independientes interactúen o se comuniquen entre sí dentro de uno o varios sistemas conectados a través de una red. Al mismo tiempo, puede manejar muchas requests. O también podemos decir que se usa para compartir datos entre múltiples hilos en uno o más procesos. Los procesos los utilizan como dispositivos abstractos, pero en el sistema operativo se pueden implementar de varias formas.
Generalmente, los sistemas operativos usan IPC para transferir una gran cantidad de datos. Esta técnica puede afectar el rendimiento y el consumo de energía. No es compatible con un sistema operativo de un solo proceso como DOS. IPC sincroniza las requests para que se implementen simultáneamente. Entonces, podemos decir que todos y cada uno de los procesos individuales se ejecutan sin afectarse entre sí y la comunicación entre ellos puede verse como un método de cooperación entre ellos.
Características de la CIP
- Comunicación síncrona y asíncrona:
cada mensaje se pone en cola, los procesos de envío hacen que los mensajes se agreguen a las colas remotas y los procesos de recepción eliminan los mensajes de las colas locales. Esta comunicación entre estos procesos emisores y receptores puede ser síncrona o asíncrona.Tanto el envío como la recepción de mensajes se sincronizan en cada mensaje, en este caso, tanto el envío como la recepción están bloqueando la operación. Si el mensaje es enviado por el proceso de envío, permanece bloqueado hasta que el proceso de recepción emite la recepción y cuando el proceso recibe el mensaje, se bloquea hasta que llega el siguiente mensaje.
El uso de la operación de envío no es de bloqueo, ya que el proceso de envío envía el mensaje, la transmisión del mensaje procede en paralelo junto con el proceso de envío, la operación de recepción puede tener variantes de bloqueo y de no bloqueo. El proceso de recepción procede inmediatamente con su programa después de emitir una operación de recepción.
- Destinos de mensajes: el destino
de mensajes es un puerto local dentro de la computadora, especificado como un número entero. Un puerto solo puede tener un receptor y muchos emisores. - Confiabilidad:
La comunicación confiable se puede definir en términos de validez e integridad.Para fines de validez, el servicio de mensajes punto a punto se define como confiable si los mensajes se entregan de forma segura sin caídas ni pérdidas en los paquetes.
Para la integridad, los mensajes deben llegar sin corrupción y sin duplicación.
- Ordenación:
el requisito de algunas aplicaciones es que los mensajes se entreguen solo en el orden del remitente, si los mensajes están fuera del orden del remitente, esas aplicaciones deben considerar esos mensajes como una falla.
Ventajas
- Compartir información porque muchos procesos están dispuestos a compartir la misma información.
- La tarea se puede dividir en subtareas y luego puede ejecutarse en un procesador separado, y pueden usar IPC para intercambiar información, esto mejora la ejecución del programa.
- El mantenimiento y la depuración de es más fácil ya que el programa se divide en varios fragmentos de código, cada uno de los cuales realiza funciones por separado.
- Al mismo tiempo, un usuario individual puede realizar múltiples tareas. Por ejemplo, al mismo tiempo, el usuario puede escuchar música, editar y compilar en paralelo.
Desventajas
- Es más lento que las llamadas directas a funciones.
- Debido a que IPC escribe, una pieza del sistema operativo necesita escribir algunas API de paso de mensajes que deben tenerse en cuenta.
- Pueden ocurrir problemas como la sincronización y la protección de la memoria que deben abordarse.
- Los procesos no pueden escribir en la misma ubicación de memoria.
Publicación traducida automáticamente
Artículo escrito por himanshijain129 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA