Articulo de referencia

Comunicación entre procesos

Un sistema de computación en malla que conecta muchos ordenadores personales a través de Internet mediante comunicación de red entre procesos. En informática , la comunicación e...

Un sistema de computación en malla que conecta muchos ordenadores personales a través de Internet mediante comunicación de red entre procesos.

En informática , la comunicación entre procesos ( IPC ) es el intercambio de datos entre procesos en ejecución en un sistema informático, o entre varios sistemas de este tipo. Los mecanismos para la IPC pueden ser proporcionados por un sistema operativo . Las aplicaciones que utilizan IPC suelen clasificarse como clientes y servidores , donde el cliente solicita datos y el servidor responde a las solicitudes del cliente. [ 1 ] Muchas aplicaciones son tanto clientes como servidores, como se observa comúnmente en la computación distribuida .

La comunicación entre procesos (IPC) es fundamental para el diseño de microkernels y nanokernels , ya que reduce la cantidad de funcionalidades que ofrece el kernel. Estas funcionalidades se obtienen mediante la comunicación con servidores a través de IPC, lo que conlleva un aumento considerable en la comunicación en comparación con un kernel monolítico convencional. Las interfaces IPC generalmente incluyen estructuras de marcos analíticos variables. Estos procesos garantizan la compatibilidad entre los protocolos multivectoriales en los que se basan los modelos IPC. [ 2 ]

Un mecanismo IPC puede ser síncrono o asíncrono. Se pueden usar primitivas de sincronización para lograr un comportamiento síncrono con un mecanismo IPC asíncrono.

Desventajas

La fusión de datos de dos procesos a menudo puede generar costos significativamente más altos en comparación con el procesamiento de los mismos datos en un solo hilo, potencialmente en dos o más órdenes de magnitud debido a gastos generales como la comunicación y la sincronización entre procesos. [ 3 ] [ 4 ] [ 5 ]

Aproches

Se han adaptado diferentes enfoques de IPC a diferentes requisitos de software , como rendimiento , modularidad y circunstancias del sistema como ancho de banda de red y latencia . [ 1 ]

Aplicaciones

Interfaces de llamadas a procedimientos remotos

pila de comunicación de la plataforma

Los siguientes son sistemas de mensajería e información que utilizan mecanismos de comunicación entre procesos (IPC) pero no implementan IPC por sí mismos:

pila de comunicación del sistema operativo

Las siguientes son API específicas de la plataforma o del lenguaje de programación:

Modelos de objetos distribuidos

Las siguientes son API específicas de la plataforma o del lenguaje de programación que utilizan IPC, pero que no lo implementan ellas mismas:

Véase también

Referencias

  • Stevens, Richard (1999). Programación de redes UNIX . Comunicaciones entre procesos. Vol.  2 (Segunda  edición). Prentice Hall. ISBN 0-13-081081-9.
  • Ramachandran, U.; Solomon, M.; Vernon, M. (1987). «Soporte de hardware para la comunicación entre procesos». Actas del 14.º simposio internacional anual sobre arquitectura de computadoras . Pittsburgh, Pensilvania, Estados Unidos. pp. 178–188 . ISBN  0-8186-0776-9.{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  • Crovella, M.; Bianchini, R.; LeBlanc, T.; Markatos, E.; Wisniewski, R. (1–4 de diciembre de 1992). Uso de la relación comunicación-computación en el diseño de programas paralelos y predicción del rendimiento . pp. 238–245 . ISBN  0-8186-3200-3.
  1. 1 2 "Comunicaciones entre procesos" . Microsoft.
  2. Camurati, P (1993). "Comunicaciones entre procesos para el diseño a nivel de sistema". Taller internacional sobre codiseño de hardware/software .
  3. Conceptos de sistemas operativos . ISBN 978-0470128725.
  4. Organización y diseño de computadoras, edición MIPS: La interfaz hardware/software (Serie Morgan Kaufmann de arquitectura y diseño de computadoras) . Morgan Kaufmann. ISBN 978-0124077263.
  5. Programación paralela: técnicas y aplicaciones con estaciones de trabajo en red y ordenadores paralelos . Pearson. ISBN 978-0131405639.
  6. "Interoperabilidad de Windows/WSL con AF_UNIX" . Microsoft. 7 de febrero de 2018. Consultado el 25 de mayo de 2018 .
  7. " Programación concurrente: comunicación entre procesos "
  8. "IpcMain | Electron" .
  • Página de manual de Linux ipc(5) que describe el IPC de System V
  • Windows IPC
  • IPC disponible mediante Qt
  • Programación de redes Unix (Vol. 2: Comunicaciones entre procesos) por W. Richard Stevens
  • Comunicación entre procesos y tuberías en C
  • DIPC, Sistema Distribuido V IPC