Ingeniero
Comunicación entre procesos
Universidad Nacional de Asunción
Facultad Politécnica
Ingeniería Informática
Sistemas Distribuidos
Prof: Guillermo J. González Rodas
g.gonzalez.pol@gmail.com
Prof Auxiliar: Fernando M. Mancía Zelaya
fernandomancia@gmail.com
Figura 4.1
Capas de Middleware
Applications, services
RMI and RPC
This
chapter
request-reply protocol
marshalling and external data representation
UDP and TCP
Facultad Politécnica - UNA
Middleware
lay
ers
Características de la comunicación entre procesos
El paso de mensajes entre un par de procesos se puede basar en dos
operaciones: envía y recibe, definidas en función del destino y del
mensaje.
Para que un proceso se pueda comunicar con otro, el proceso envía un
mensaje (unasecuencia de bytes) a un destino y otro proceso en el
destino recibe el mensaje.
Esta actividad implica la comunicación de datos desde el proceso emisor al
proceso receptor y puede implicar además la sincronización de los dos
procesos.
Destino
Destino
Origen
Origen
P1
P1
Facultad Politécnica - UNA
M
M
P2
P2
Características de la comunicación entre procesos
Comunicaciónsíncrona y asíncrona. A cada destino de mensajes se
asocia una cola.
• Procesos emisores producen mensajes que serán añadidos a las colas
remotas.
• Procesos receptores eliminarán mensajes de las colas locales.
La comunicación entre los procesos emisor y receptor puede ser síncrona
o asíncrona. En la forma SÍNCRONA, los procesos receptor y emisor se
sincronizan con cada mensaje. En estecaso, tanto envía como recibe son
operaciones bloqueantes.
P.emisor, Envia – bloquea hasta que se produce el corresp recibe.
P.receptor, invoca un Recibe, se bloquea hasta que llega un mensaje.
Facultad Politécnica - UNA
Características de la comunicación entre procesos
Comunicación Asíncrona:
• ENVÍA es NO BLOQUEANTE (el p. emisor continúa tan pronto
como el mensaje haya copiado albúfer local, y la transmisión del
mensaje se lleva a cabo en PARALELO con el proceso emisor).
• RECIBE puede tener variantes bloqueantes y no bloqueantes.
En la variante no bloqueante el proceso receptor sigue con su
programa después de invocar la operación recibe, la cual
proporciona un BUFER que será llenado en un segundo plano, pero
el proceso DEBE SER INFORMADO por separado de que su búferha sido llenado, ya sea por el método de encuesta o mediante una
interrupción.
Facultad Politécnica - UNA
Características de la comunicación entre procesos
En un entorno como Java, que soporta múltiples hilos en un
único proceso, el recibe bloqueante tiene pocas
desventajas, puesto que puede ser invocado por un “hilo”
mientras que el resto de hilos del proceso permanecen
activos, yla simplicidad de sincronizar los hilos receptores con
el mensaje, entrante es una ventaja substancial.
La comunicación no bloqueante parece ser más eficiente,
implica una complejidad extra en el proceso receptor asociada
con la necesidad de capturar mensaje entrante fuera de su
flujo de control. Por estas razones, los sistemas actuales no
proporcionan la forma no bloqueante de recibe.Facultad Politécnica - UNA
Características de la comunicación entre procesos
Destinos de los mensajes. En los protocolos Internet, los mensajes son
enviados a direcciones construidas (Direccion_Internet, Puerto_local).
Un puerto local es el destino de un mensaje dentro de un computador,
especificado como un nro entero. Tiene exactamente 1 receptor pero
puede tener N emisores.
Los procesospueden utilizar múltiples puertos desde los que recibir
mensajes. Cualquier proceso que conozca un número de puerto apropiado
puede enviarle un mensaje.
Generalmente, los servidores hacen públicos sus números de puerto para
que sean utilizados por los clientes.
Si el cliente utiliza una dirección Internet fija para referirse a un servicio,
entonces ese servicio debe ejecutarse siempre en el...
Regístrate para leer el documento completo.