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.

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

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?

En IUTEPI, podrás desarrollar tu mejor potencial.

¡Atentos a nuestros próximos temas!

Deja tu comentario