viernes, 4 de mayo de 2012

Comunicación Sistemas Distribuidos

Comunicación en los Sistemas Distribuidos

Introducción


Antes de comenzar con el tema hay que remarcar una gran diferencia entre lo que es un Sistema Distribuido y un Sistema de un único procesador, esta diferencia es la comunicación que tienen entre procesos.

Otra diferencia es relacionado a la memoria compartida: 
  • En los sistemas de un solo procesador la comunicación nos supone la existencia de esta memoria.
  • Mientras que en los Sistemas Distribuidos no existe esta memoria y por lo tanto la comunicación que se requiere entre los procesos o acciones tendrán que replantearse.
Para que los procesos se puedan comunicar tienen que seguir unas reglas que se llaman protocolos.

Estos protocolos toman la forma de varias capas y cada capa tiene sus propias metas y reglas, esto tiene que suceder en un área amplia.

Como es una comunicación, siempre existirá una conversación en grupo en lugar de dos personas, así que se considera esta posibilidad para la comunicación de los procesos. La comunicación con lo procesos en un sistema distribuido se haría mediante conectar las memorias (envió y recibido).

Estándar ISO OSI

OSI (Interconexión de Sistemas Abiertes) es un modelo por  capaz para la comunicación de los sistemas abiertos, las capaz en las que consiste est varían en nivel en nivel siendo la ultima la más general.
Este modelo distingue dos tipos de protocolos, los orientados hacia las conexiones y los de sin conexión.

          Orientados hacia las conexiones:
                 
                         Antes de intercambiar los datos, el emisor y el receptor:
      • Establecen en forma explícita una conexión.
      • Probablemente negocien el protocolo a utilizar.
      • Al finalizar, deben terminar la conexión.
      • El teléfono es un sistema de comunicación orientado hacia la conexión.
         Sin conexión:

                           No es necesaria una configuración de antemano.
                           El emisor transmite el primer mensaje cuando está listo.
                           El depósito de una carta en un buzón es una comunicación sin conexión.


Modelo Cliente-Servidor

El modelo OSI no nos dice nada acerca de la forma en que se debe estructurar al sistema distribuido.
Modelo Cliente-Servidor tiene como idea fundamente la estructuración del S.O. como:
  • Un grupo de procesos en cooperación, llamados servidores, son los que ofrecen servicios a los usuarios.
  • Un grupo de procesos usuarios llamados clientes.
Este modelo se basa en el “protocolo solicitud / respuesta” aquí tenemos el procedimiento que haría:
  • Es sencillo y sin conexión.
  • No es complejo y orientado a la conexión como OSI o TCP / IP.
  • El cliente envía un mensaje de solicitud al servidor pidiendo cierto servicio.
  • El servidor:
    • Ejecuta el requerimiento.
    • Regresa los datos solicitados o un código de error si no pudo ejecutarlo correctamente.
  • No se tiene que establecer una conexión sino hasta que ésta se utilice.
  • La pila del protocolo es más corta y por lo tanto más eficiente.
  • Si todas las máquinas fuesen idénticas solo se necesitarían tres niveles de protocolos.
Comunicación en Grupo

Un Grupo es un conjunto de procesos con una semántica común. La propiedad fundamental que deben cumplir es que cuando se envía un mensaje, todos los miembros lo reciben. De esta forma se puede conseguir la coordinación de los distintos miembros que forman un grupo.

Los grupos pueden dividirse en dos categorías: Grupos Cerrados y Grupos Abiertos. En los primeros sólo se permite la comunicación entre los miembros del grupo, mientras que en los segundos, los procesos que no pertenecen al grupo pueden interactuar con él.

\includegraphics[scale=0.6]{figures/grps_abiertos.eps}

Los grupos cerrados (b) suelen utilizarse, en general, para el procesamiento en paralelo, donde cada uno de los miembros tiene su propio objetivo y no interactúa con el ``mundo exterior''. 

En cambio, los grupos abiertos (a) están pensados para el desarrollo de aplicaciones tipo cliente/servidor, donde los procesos interactúan con el grupo para solicitar servicios.

También podemos clasificar los grupos de procesos atendiendo al papel que desempeñan los miembros que los componen: Grupos de Iguales (a) y Grupos Jerárquicos (b).

\includegraphics[scale=0.6]{figures/grps_jerarquicos.eps}

Si en un grupo no existe una distinción entre los procesos que lo forman, y las decisiones se toman de forma colectiva, se dice que se trata de un grupo de iguales. En cambio, si se establecen relaciones de jerarquía en un grupo, donde unos procesos tienen una mayor capacidad de decisión que otros, se habla de grupos jerárquicos.

Bibliografías




1 comentario: