Comunicacion Entre Procesos Sod
on
Comunicaci´
on entre procesos
Representaci´
on externa de datos
Comunicaci´
on cliente-servidor
Comunicaci´
on en grupo
Sistemas Distribuidos -Comunicaci´on entre
Procesos (IPC)
M.C. Fernando Pech May
Instituto Tecnol´
ogico Superior de los R´ıos
auxtecomp@gmail.com
Materia: Sistemas Distribuidos
Curso de verano, 2011
Fernando Pech May
Sistemas Distribuidos -Comunicaci´
on entreProcesos (IPC)
Curso de verano, 2011 1/47
Introducc´
on
Comunicaci´
on entre procesos
Representaci´
on externa de datos
Comunicaci´
on cliente-servidor
Comunicaci´
on en grupo
Tabla de contenido
1
2
Introducc´
on
Comunicaci´
on entre procesos
Socket
IPC basados en datagramas UDP
IPC basado en streams TCP
3
Representaci´
on externa de datos
Mecanismos de soluci´
on
Corba Common DataRepresentation (CDR)
Serializaci´
on en Java
Serializaci´
on en Java
Referencias remotas en Java
4 Comunicaci´
on cliente-servidor
Comunicaci´
on cliente-servidor y RMI
Modelo de fallos
Protocolos de intercambio RPC
5 Comunicaci´
on en grupo
Problemas
Fernando Pech Tipos
May
Sistemas Distribuidos -Comunicaci´
on entre Procesos (IPC)
Curso de verano, 2011 2/47
Introducc´
on
Comunicaci´
on entreprocesos
Representaci´
on externa de datos
Comunicaci´
on cliente-servidor
Comunicaci´
on en grupo
Los sistemas distribuidos se basan en el intercambio de mensajes
y la sincronizaci´
on entre procesos distribuidos aut´onomos
Comunicaci´on entre procesos (IPC)
Variables compartidas
Paso de mensajes
El paso de mensajes es a trav´es de lenguajes de programaci´on
concurrentes
Extensiones de lenguajesLlamadas de APIs
Principios de IPC
(ver en [Andrews and Schneider 83] G. Andrews and F. Schneider,
Concepts and Notations for Concurrent Programming, ACM Computing
Surveys, Vol. 15, No. 1, March 1983)
Fernando Pech May
Sistemas Distribuidos -Comunicaci´
on entre Procesos (IPC)
Curso de verano, 2011 3/47
Introducc´
on
Comunicaci´
on entre procesos
Representaci´
on externa de datos
Comunicaci´
oncliente-servidor
Comunicaci´
on en grupo
Programas concurrentes: colecci´
on de dos o mas programas
secuenciales que se ejecutan concurrentemente (al mismo
tiempo)
Procesos concurrentes: colecci´
on de dos o mas programas
secuenciales en operaci´
on y se ejecutan concurrentemente
Sincronizaci´
on:
procesos que se ejecutan simult´aneamente en diferentes
equipos a diferentes velocidades
Paso demensajes primitivos
send expression list to destination designator
eval´
ua expression list
agrega una instancia de un nuevo mensaje al canal
destination designator
receive variable list from source designator
Fernando Pech May
Sistemas Distribuidos -Comunicaci´
on entre Procesos (IPC)
Curso de verano, 2011 4/47
Introducc´
on
Comunicaci´
on entre procesos
Representaci´
on externa de datosComunicaci´
on cliente-servidor
Comunicaci´
on en grupo
Socket
Comunicaci´on implica
comunicaci´
on por parte de los interlocutores y
sincronizaci´
on
S´ıncrona: cada operaci´
on se completan cuando se completa el
par env´ıa() - recibe()
As´ıncrona: pueden completarse por separado
Fernando Pech May
Sistemas Distribuidos -Comunicaci´
on entre Procesos (IPC)
Curso de verano, 2011 5/47
Introducc´on
Comunicaci´
on entre procesos
Representaci´
on externa de datos
Comunicaci´
on cliente-servidor
Comunicaci´
on en grupo
Socket
recibe( ) no bloqueante requiere notificaci´
on por interrupci´on
o evento, o encuesta
es m´as complejo de programar.
recibe( ) bloqueante es f´acil de programar en entonos con
varios hilos.
Identificador de comunicaci´
on
dependiente de ubicaci´
on (p.ej.: puertosUNIX BSD)
debe ser bien conocido
un proceso puede tener varios libros
por nombre
requiere un servicio de directorio (binder)
permite la re-ubicaci´
on pero no la migraci´
on.
Fernando Pech May
independiente de ubicaci´
on
Sistemas con
Distribuidos
-Comunicaci´
on entre
Procesos (IPC)
(ej: Mach
puertos
de alto
nivel)
Curso de verano, 2011 6/47
Introducc´
on
Comunicaci´
on entre procesos...
Regístrate para leer el documento completo.