La comunicación es una función básica de los sistemas operativos que tiene un mecanismo que permite a los procesos comunicarse y sincronizarse entre ellos, normalmente a través de un sistema de bajo nivel.
En un sistema, los procesos pueden ejecutarse independientemente o cooperando entre sí. Los intérpretes de comandos son ejemplos típicos de procesos que no precisan la cooperación de otros para realizar sus funciones.
![](https://www.iutepi.edu/wp-content/uploads/2023/06/1574253975317-1024x672.png)
En cambio, los procesos que sí cooperan necesitan comunicarse entre sí para poder completar sus tareas.
La comunicación entre procesos puede estar motivada por la competencia o el uso de recursos compartidos o porque varios procesos deban ejecutarse sincronizadamente para completar una tarea.
Funciones
Pipes anónimos: Permite redireccionar las entradas o salidas de un proceso utilizando la línea de comandos.
Sockets: Usan la familia de protocolos TCP/IP(utilizada en internet). Su diseño proviene de Unix.
Estándares de paso de mensajes MPI: Interface, muy utilizada en clusters y supercomputadoras o PVM utilizada en los multiprocesadores.
Llamadas o procedimientos remotos RPC: Permiten realizar las comunicaciones entre procesos como si se tratase de simples llamadas a funciones.
Middleware: Software que se utiliza para conectar los componentes de un sistema distribuido.
Subprocesos y procesos son conceptos relacionados en informática; Los dos representan secuencias de instrucciones que se deben ejecutar en un orden concreto. Sin embargo, las instrucciones de subprocesos o procesos independientes se pueden ejecutar en paralelo.
Características
![](https://www.iutepi.edu/wp-content/uploads/2023/06/77913850-concepto-de-internet-de-las-cosas-con-diferentes-iconos-y-elementos-conexion-de-red-digital-moderna-1024x1024.webp)
La comunicación puede ser:
Síncrona: Quien envía permanece bloqueado esperando a que llegue una respuesta del receptor antes de realizar cualquier otro ejercicio.
Asíncrona: Quien envía continúa con su ejecución inmediatamente después de enviar el mensaje al receptor.
Persistente: El receptor no tiene que estar operativo al mismo tiempo que se realiza la comunicación, el mensaje se almacena tanto tiempo como sea necesario para poder ser entregado (por ejemplo, un e-mail).
Momentánea (transient): El mensaje se descarta si el receptor no está operativo al tiempo que se realiza la comunicación. Por lo tanto no será entregado.
Directa: Las primitivas “enviar” y “recibir” especifican el nombre del proceso con el que se comunican.
Indirecta: Es aquella donde la comunicación está basada en una herramienta o instrumento ya que el emisor y el perceptor están a distancia.
Simétrica: Todos los procesos pueden enviar o recibir. También llamada bidireccional para el caso de dos procesos.
Asimétrica: Un proceso puede enviar, los demás procesos sólo reciben. También llamada unidireccional. Suele usarse para hospedar servidores en Internet.
Uso de búfer automático: El transmisor se bloquea hasta que el receptor recibe el mensaje (capacidad cero).
Hemos llegado al final de este post.
¡Pero cuéntanos!
¿Qué te ha parecido lo que has aprendido hoy?
![](https://www.iutepi.edu/wp-content/uploads/2023/05/bannerweb-iutepi-edited.jpg)
En IUTEPI, podrás desarrollar tu mejor potencial.
¡Atentos a nuestros próximos temas!