Comunicación entre procesos

Los procesos cooperativos pueden comunicarse en un ambiente de memoria compartida. El esquema requiere que estos procesos compartan una reserva común de buffers y que el programador de la aplicación escriba de manera explícita el código para implementar el buffer. Otra forma de lograr el mismo efecto es que el sistema operativo proporcione los medios para que los procesos cooperativos se comuniquen entre ellos a través de un servicio de comunicación entre procesos (IPC).

El IPC proporciona un mecanismo tanto para que los procesos se comuniquen como para sincronizar sus acciones sin compartir el mismo espacio de direcciones. El IPC es útil en un ambiente distribuido, en donde los procesos que se comunican pueden residir en diferentes computadoras conectadas en una red. Un ejemplo es un programa para chat (conversación) empleado en la World Wide Web.

El servicio de IPC se proporciona mejor mediante un sistema de paso de mensajes. Los sistemas de mensajes pueden definirse de diferentes formas.

Los procesos que desean comunicarse necesitan una forma de hacer referencia entre ellos. Pueden usar comunicación directa, o bien, comunicación indirecta.

Fuente: Apuntes de la materia Sistemas Operativos Multiusuario de la FCA – UNAM