Vous êtes sur la page 1sur 3

Métodos de comunicación

Los programas concurrentes necesitan algún tipo de comunicación entre los procesos. Esto debido a dos
razones principales:

1. Los procesos compiten para obtener acceso a recursos compartidos,


2. Los procesos quieren intercambiar datos.

Para cualquier tipo de comunicación hace falta un método de sincronización entre los procesos que
quieren comunicarse entre ellos. Al nivel del programador existen tres variantes como realizar las
interacciones entre procesos:

 Usar memoria compartida (shared memory),


 Mandar mensajes (message passing),
 Lanzar procedimientos remotos (remote procedure call RPC).

Memoria compartida:
 Los procesos se comunican a través de variables compartidas.
 El sistema operativo provee la memoria compartida.
 El programador tiene la responsabilidad de proveer comunicación.

Paso de mensajes
¿Qué es un mensaje?
Un mensaje es un pedazo de información estructurada que envía un agente a otro a través de un
canal de comunicación.

El paso de mensajes es imprescindible en sistemas distribuidos dado que en este caso no existen
recursos directamente compartidos para intercambiar información entre los procesos.

 Es una técnica empleada en programación concurrente para aportar sincronización entre


procesos y permitir la exclusión mutua, de manera similar a como se hace con los semáforos,
monitores, etc.
 No precisa de memoria compartida, por lo que es muy importante en la programación para
sistemas distribuidos.
 Los elementos principales que intervienen en el paso de mensajes son el proceso que envía, el
que recibe y el mensaje.
 Existen dos tipos de pasos de mensajes:
o Asíncrono: El proceso que envía no espera a que sea recibido el mensaje enviado. Estos
puede que tengan un buzón para mantener los mensajes que se han enviado
previamente y no han sido recibidos aún.
o Síncrono: El proceso que envía el mensaje, espera a que este sea recibido, antes de
generar y enviar otro mensaje.

Sistemas Operativos 1 http://elcopypaste.wordpress.com


Universidad de San Carlos de Guatemala
El envío de mensajes es útil en las siguientes situaciones:
 Las necesidades de comunicación son simples.
 La cantidad de información que se puede transmitir, por unidad de tiempo, es crítica.
 El alcance del sistema es limitado, o sea, es preferible una implementación rápida que un diseño
flexible y sofisticado.
 Hay que evitar protocolos específicos de redes.
 No están disponibles protocolos de objetos remotos.

Sistemas Operativos 1 http://elcopypaste.wordpress.com


Universidad de San Carlos de Guatemala
Referencias
Breve descripción de los métodos de comunicación:
http://trevinca.ei.uvigo.es/~formella/doc/cd05/node88.html

Información bastante completa acerca de lo que son los mensajes, el paso de mensajes, los protocolos
fijos y adaptables, incluyendo el paso de mensajes con eventos en Java:
http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/resumen6.html

Breves conceptos de paso de mensajes, se pueden encontrar links acerca de los tipos de sincronización,
entre otros: http://trevinca.ei.uvigo.es/~formella/doc/cd05/node91.html

Información y conceptos bastante completos acerca de paso de mensajes:


http://es.wikipedia.org/wiki/Paso_de_mensajes

Conceptos de todo lo que abarca concurrencia y ejemplos en pseudocódigo de semáforos, monitores,


paso por mensajes, entre otros: http://gsyc.escet.urjc.es/jmplaza/ssoo/conc.pdf

Licencia

Sistemas Operativos 1 http://elcopypaste.wordpress.com


Universidad de San Carlos de Guatemala

Vous aimerez peut-être aussi