Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTERPROCESOS, MODELOS,
MENSAJES, DENOMINACIÓN Y
SERVICIO DE NOMBRES
Integrantes:
- Alcantara Ninatanta Luis
-Flores Rodriguez Carlos
-Huamani Almanza Alejandro
-Ponce Graos Jherry
-Valderrama Quino Steven
COMUNICACIONES
INTERPROCESOS
• Cuando un ordenador tiene soporte de red, ofrece una API que proporciona
los servicios de comunicaciones.
• Dos tipos de operaciones principales al desarrollador.
Síncrona
Asíncrona
• Quien envía
continúa con su
ejecución
inmediatamente
después de
enviar el mensaje
al receptor.
TIPOS DE COMUNICACIÓN
Directa Indirecta
Simétrica Asimétrica
Los procesos están separados lógica y físicamente por lo que se requiere una comunicación entre
ellos para transferir datos y sincronizarse.
Los modelos de comunicación más utilizados en el diseño de sistemas distribuidos son:
• Modelo cliente-servidor
• Modelo multicast
MODELO CLIENTE-SERVIDOR
La memoria compartida es la
memoria a la que pueden acceder
simultáneamente varios procesos.
MEMORIA COMPARTIDA
• Ventajas
Más rápido que el modelo de paso de mensajes.
El kernel no está involucrado.
• Desventajas
Sobreescritura de memoria.
Problemas de sincronización.
PASO DE MENSAJES
FINALIZACION DE LA OPERACION
• En las operaciones no bloqueantes hay que poder determinar la finalización
• En el recv para poder leer el mensaje
• En el send para poder sobrescribir la variable
El send y recv no bloqueantes renos dan un numero de operación req
Primitivas:
• wait(req): Se bloquea hasta que haya terminad la operación req
• test(req): Indica si ah finalizado o no
• waitany y waitall: Cuando hay varias operaciones pendientes.
PASO DE MENSAJES
SELECCIÓN DE MENSAJES
• La operación recv requiere un identificador de proceso id
• No concluye hasta que llega un mensaje de id
• Se ignoran los mensajes procedentes de otros procesos
Para mas flexibilidad, se permite usar un ‘comodín’ para recibir de cualquier proceso
PROBLEMA DE INTERBLOQUEO
Un mal uso de send y recev puede producir interbloqueo
Caso de comunicación síncrona:
/* Proceso 0 */ /* Proceso 1 */
send(x,1); send(y,0);
recv(y,1); recv(x,0);
/* Proceso 0 */ /* Proceso 1 */
recv(y,1); recv(x,0);
send(x,1); send(y,0);
PASO DE MENSAJES
PROBLEMA DE SERIALIZACION
Cada proceso tiene que enviar un dato a su vecino derecho
/* Proceso i */
recv(y, i-1);
send(x, i+1);
/* Proceso i */
send(x, i+1);
recv(y, i-1);
Posibles soluciones:
• Protocolo pares-impares: Los procesos pares hacen una variante, los imapres la otra
• send y recv no bloquante
• Operaciones combinadas: sendrecv
PASO DE MENSAJES
COMUNICACIÓN COLECTIVA
Las operaciones colectivas involucran a todos los procesos de un comunicador (en muchos casos, uno de
ellos tiene un papel destacado – proceso raíz)
• Sincronización (barrier): cada persona espera a que todos lleguen
• Movimiento de datos: Uno o varios envían a uno o varios
• Reducciones: además de comunicar se realiza un calculo sobre los datos
Estas operaciones pueden realizarse con comunicación punto a punto, pero es recomendable usar la
primitiva correspondiente
• Existen varios algoritmos para cada caso (lineal, árbol)
• La solución optima suele depender de la arquitectura (topología de la red)
DENOMINACIÓN
DEFINICIÓN
ESTRUCTURA
PLANA JERARQUICA
• NotasDiaEuiUpmEs • dia.eui.upm.es/notas.html
DENOMINACIÓN
SE DEBE PERSEGUIR
TRANSPARENCIA DE INDEPENDENCIA DE
UBICACIÓN UBICACIÓN
DENOMINACIÓN
TIPOS DE NOMBRES
PUROS IMPUROS
DNI:******** DIR:158.42.4.2
NOMBRE:JUAN PEREZ NOMBRE:www.upv.es
DEFINICIÓN
Servicio de
Nombres
¿Qué es un servicio de nombres?
Estructura:
urn:<nid>:<nss></nss></nid>
ESTRUCTURA URN
Estructura:
urn:<nid>:<nss></nss></nid>
urn:nbn:de:101:1-2019072802401757702913
SISTEMA DE NOMBRES DE DOMINIO