Categories: All - comunicación - paradigmas - datos - hilos

by andres pascagaza 7 months ago

41

Procesos y comunicación

En los sistemas distribuidos, la comunicación y el manejo de procesos son componentes esenciales. La comunicación entre procesos puede seguir diferentes paradigmas como cliente-servidor, RPC y comunicación en grupo.

Procesos y comunicación

Procesos y comunicación

comunicacion sin conexion o servicio de datagrama

La dirección del destinatario se especifica en sendto(), y recvfrom() responde a cualquier dato entrante en el puerto enlazado.
Se utilizan las funciones recvfrom() y sendto() para la transmisión de datos.
No se establece una conexión explícita.
Similar a enviar una carta postal: cliente envía, servidor recibe.

la interfaz de socket

Funciones principales: socket(), close(), bind(), listen(), accept(), connect(), send(), recv(), sendto(), recvfrom().
Los procedimientos de la API de sockets realizan llamadas al sistema operativo para operar con sockets.
Un socket es un punto de referencia para enviar o recibir mensajes.

Comunicacion en grupo

membresia de grupo, direccionamiento, primitivas de comunicacion, atomicidad, ordenamiento de mensajes, escalabilidad.
aspectos de diseño: grupos cerrados, abiertos, de compañeros, jerarquicos
tecnicas de implementacion: transmision de multidifusion, transmision completa, transmision punto a punto.
grupos dinamicos
comunicacion uno a muchos o mucho a muchos

modelo cliente - servidor

deficiencias: orientado a E/S, falta de transparencia, responsabilidades del programador en transferencia de mensajes y E/S
implementacion a traves de librerias PVM o sockets
caracteristicas del software cliente y servidor
transferencia de mensajes en el nucleo
servidor: espera pasivamente, realiza el trabajo y devuelve resultados
cliente: inicia la comunicacion y espera respuesta
comunicacion uno a uno

servidores

servidores de datos, archivos, impresion, correo, etc.
reutilizables y relocalizables
componentes clave del middleware
pueden arrancar estatica o dinamicamente
operan continuamente
posicion reactiva
proporcionan funcionalidades en sistemas distribuidos

hilos

unidad de codigo mas pequeña
llamada a procedimiento multihilo
clientes y servidores
tipos de flujo de hilos
unico y multiple

comunicacion orientada a conexion

El socket original permanece abierto para aceptar nuevas solicitudes.
Después de accept(), se crea un nuevo socket para la comunicación con el cliente.
El servidor espera pasivamente hasta que recibe una solicitud del cliente.
Requiere establecer una conexión antes del intercambio de datos.

interfaz de programacion de aplicaciones

ejemplos: BSD socket, Sun’s RPC/XDR, librería PVM, Windows Sockets.
define procedimientos para interactuar con protocolos de comunicacion
especifica detalles de comunicacion para aplicaciones cliente-servidor

llamada de procedimiento remoto (RPC)

pasos de operacion: cliente llama al resguardo, este envia mensaje al servidor, servidor procesa y devuelve resultado al resguardo, y este lo entrega al cliente.
transparencia: la llamada a procedimiento remoto se asemeja a una llamada local.
permite llamar a procedimiento en maquinas remotas.
variante del paradigma cliente-servidor

comunicacion entre procesos

Conceptos fundamentales: aplanamiento de datos, representación uniforme, empaquetamiento, operaciones de send/receive, modo de comunicacion (bloqueante/no bloqueante), abstraccion del paso de mensajes, confiabilidad (TCP vs UDP)
paradigmas de comunicacion: cliente-servidor, RPC, comunicacion en grupo.
clave en sistemas distribuidos

cliente

inicia, realiza y finaliza operaciones
interactua a traves de interfaces graficas
postura proactiva
solicita y utiliza servicios en sistemas distribuidos

introduccion a la comunicacion entre procesos

ausencia de necesidad de memoria compartida
fundamentos de la comunicación basada en el paso de mensajes
importancia en sistemas distribuidos