Descargar

Comunicación de procesos en sistemas distribuidos

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Comunicación en Sistemas Distribuidos Permite la interacción entre aplicaciones y servicios del sistema.

    Modelos de comunicación entre procesos: Memoria compartida (Sólo uni/multiprocesador no distribuido). Paso de mensajes.

    El nivel de abstracción en la comunicación: Paso de mensajes puro (ClienteServidor). Llamadas a procedimientos remotos. Modelos de objetos distribuidos.

    edu.red

    Factores de Comunicación Los diferentes mecanismos de comunicación se caracterizan por los siguientes factores: Rendimiento: Latencia, ratio de transferencia, ancho de banda, … Escalabilidad: Número de elementos activos. Fiabilidad: Pérdida de mensajes. Seguridad:Cifrado, certificación, … Movilidad: Equipos móviles. Calidad de Servicio (QoS): Reserva y garantía de anchos de banda. Comunicación en grupo: Multicast.

    edu.red

    Niveles de Comunicación TCP/UDP Protocolo y Representación RMI/RPC App./Servicios 3) Llamadas a procedimientos remotos y objetos distribuidos. ATM/Ethernet Interfaz y Lógica de Comunicación App./Servicios 2) Funcionalidades de comunicación de bajo nivel. Sistemas Operativos Distribuidos. TCP/UDP API (sockets) Aplicaciones y Servicios 1) Paso de mensajes puro. Aplicaciones en red.

    edu.red

    Primitivas de Comunicación Cada una de las funciones de comunicación de una tecnología determinada. Las primitivas básicas son: Envío: send(destino,mensaje). Recepción: receive(fuente,mensaje). Otras primitivas: Conexión: connect(destino). Desconexión: close().

    Cada una de las primitivas tiene las siguientes características: Boqueantes vs No-bloqueantes. Síncronas vs Asíncronas. Fiables vs No-fiables.

    edu.red

    Bloqueantes vs. No-bloqueantes Las características de bloqueo son: Primitivas bloqueantes: La operación bloquea al elemento que la solicita hasta que ésta sea completada. Primitivas no-bloqueantes: La operación no detiene la ejecución del elemento que la solicita.

    Las llamadas no bloqueantes tienen distinto sentido dependiendo de la primitiva que se trate: Envío no bloqueante: El emisor almacena el dato en un buffer del núcleo (que se encarga de su transmisión) y reanuda su ejecución. Recepción no bloqueante: Si hay un dato disponible el receptor lo lee, en otro caso indica que no había mensaje.

    edu.red

    Sínconas vs. Asíncronas Esta característica afecta no tanto a la primitiva como a la transmisión en sí. Comunicación síncrona: Envío y recepción se realizan de forma simultanea. Comunicación asíncrona: El envío no requiere que el receptor este esperando.

    La comunicación asíncrona usa un buffer de almacenamiento. Implica ciertas condiciones de bloque en envío y recepción.

    edu.red

    Fiabilidad El envío fiable de datos garantiza que un mensaje enviado ha sido recibido por el receptor. Implica la retransmisión de mensajes de validación (ACKs).

    La fiabilidad la puede garantizar: El protocolo de comunicación (TCP si y UDP no). Los elementos emisor y receptor.

    edu.red

    Primitivas de Comunicación EMISOR Núcleo Emisor RED RECEPTOR Núcleo Receptor 1 2 7 3 6 4 8 5 msg ACK Envío no bloqueante: [1:8] El emisor continua al pasar el mensaje al núcleo. Envío bloqueante: [1:2:7:8] El emisor espera a que el núcleo transmita por red el mensaje. Envío bloqueante fiable: [1:2:3:6:7:8]: El emisor espera a que el núcleo receptor recoge el mensaje. Envío bloqueante explícito: [1:2:3:4:5:6:7:8]: Idem al anterior, pero es la aplicación receptora la que confirma la recepción. Petición-Respuesta: [1:2:3:4:< servicio>:5:6:7:8]: El emisor espera a que el receptor procese la operación para reanudar la ejecución.

    Partes: 1, 2
    Página siguiente