miércoles, 9 de agosto de 2017

Sistemas Distribuidos

Sistemas Distribuidos

Introducción

Los sistemas distribuidos suponen un paso más en la evolución de los sistemas informáticos, entendidos desde el punto de vista de las necesidades que las aplicaciones plantean y las posibilidades que la tecnología ofrece.
Desde una perspectiva histórica se puede hablar de diferentes modelos que determinan la funcionalidad y la estructura de un sistema de cómputo (Lafuente, 2017), algunos destacables son:
  • Sistemas de lotes: Fueron los primeros sistemas operativos. Permitían procesar en diferido y secuencialmente datos suministrados en paquetes de tarjetas perforadas.
  • Sistemas centralizados de tiempo compartido. Se desarrollaron a mediados de los 60, con el objetivo de incrementar la eficiencia en el uso de la CPU y disminuir los tiempos de respuesta de los usuarios, que ya operaban interactivamente. Los recursos estaban centralizados y se accedía al sistema desde terminales.
  • Sistemas de teleproceso. El sistema central monopoliza la gestión de los recursos y terminales remotos acceden a un sistema central utilizando una infraestructura de red y un protocolo de comunicaciones normalmente de tipo propietario.
  • Sistemas personales. El objetivo de este tipo de sistemas era proporcionar un sistema dedicado para un único usuario, lo que fue posible gracias al desarrollo del microprocesador a comienzos de los 80.
  • Sistemas en red. Cuando el concepto de computador central desaparece, se habla ahora de un conjunto de computadores que se conectan entre sí utilizando una infraestructura de red. Una máquina que proporciona el acceso a un determinado recurso es el servidor de ese recurso. Los clientes, que pueden disponer de recursos locales, acceden a un recurso remoto mediante solicitud al servidor correspondiente. Gracias al desarrollo de protocolos comunes, como TCP/IP, es posible interconectar las máquinas independientemente de sus características y sistema operativo (interoperatividad), extendiendo el ámbito de estos sistemas a redes de área amplia y posibilitando el surgimiento de Internet.

Sistemas Distribuidos

La computación distribuida

Antes de definir lo que es un Sistema Distribuido, debe tenerse una noción de lo que es la computación distribuida.
El término se utiliza para referirse a cualquier sistema en el que múltiples agentes autónomos, cada uno con capacidades de cómputo individual, se comunican entre sí y afectan mutuamente su comportamiento. Los agentes, usualmente llamados procesadores, procesos o nodos, pueden ser desde computadoras completas hasta autómatas celulares con capacidad de cómputo y memoria muy limitados que se pueden comunicar mediante mensajes. Podemos decir entonces, que la Computación Distribuida se refiere a los servicios que provee un Sistema de Computación Distribuido(Turpo Aroquipa, 2017).

Definición de Sistema Distribuido

Para Coulouris un sistema distribuido es aquél que está compuesto por varias computadoras autónomas conectadas mediante una red de comunicaciones y equipadas con programas que les permitan coordinar sus actividades y compartir recursos (Coulouris,2001). Bal ofrece una definición muy similar: "Un sistema de computación distribuida está compuesto por varios procesadores autónomos que no comparten memoria principal, pero cooperan mediante el paso de mensajes sobre una red de comunicaciones".

Características básicas de los sistemas distribuidos

Una de las primeras caracterizaciones de un Sistema Distribuido fue realizada por Enslow, en 1978, quien le atribuye las siguientes propiedades:

  1. Está compuesto por varios recursos informáticos de propósito general, tanto físicos como lógicos, que pueden asignarse dinámicamente a tareas concretas.
  2. Estos recursos están distribuidos físicamente, y funcionan gracias a una red de comunicaciones.
  3. Hay un sistema operativo de alto nivel, que unifica e integra el control de los componentes.
  4. El hecho de la distribución es transparente, permitiendo que los servicios puedan ser solicitados especificando simplemente su nombre (no su localización).
  5. El funcionamiento de los recursos físicos y lógicos está caracterizado por una autonomía coordinada.

A pesar de que la definición de Philip Enslow sigue siendo válida, Jochen Schröder les atribuyó, en 2003, sólo tres características básicas:

  • Existencia de varias computadoras. En general, cada una con su propio procesador, memoria local, subsistema de entrada/salida y quizás incluso memoria persistente.
  • Interconexión. Existen vías que permiten la comunicación entre las computadoras, a través de las cuales pueden transmitir información.
  • Estado compartido. Las computadoras cooperan para mantener algún tipo de estado compartido. El funcionamiento correcto del sistema se describirse como el mantenimiento de una serie de invariantes globales que requiere la coordinación de varias computadoras.
  • Sin embargo, un sistema distribuido cuenta con otras tres características fundamentales que veremos a continuación.

    Ausencia de reloj global

    La sincronización es un punto clave para los sistemas operativos distribuidos. En éstos, hay un reloj por cada ordenador del sistema, con lo que es fundamental una coordinación entre todos los relojes para mostrar una hora única. Los osciladores de cada ordenador son ligeramente diferentes, y como consecuencia todo los relojes sufren un desfase y deben ser sincronizados continuamente. La sincronización no es trivial, porque se realiza a través de mensajes por la red. Cuyo tiempo de envío puede ser variable y depender de muchos factores como la distancia, la velocidad de transmisión y la propia estructura de la red.
    La ausencia de reloj global se refiere a que las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, esta más bien distribuida a los componentes.

    Concurrencia de procesos

    Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.

    Fallos independientes

    Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando a sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.

    Ejemplos

  • Skype. Un ejemplo de sistema distribuido podría ser esta plataforma de llamadas, ya que permite que más de dos personas se conecten en una videoconferencia, o que distintos usuarios realicen llamadas sin que esto afecte la estabilidad del servidor (concurrencia); los usuarios además pueden estar situados en cualquier ubicación geográfica y contactar con otros en tiempo real, sin necesidad de que las ubicaciones coincidan (ausencia de reloj global); por último, si la conexión de uno de los usuarios falla, esto no repercute en las actividades de ningún otro usuario (fallos independientes).
  • Conclusiones

    En conclusión, a pesar de todas las ventajas que tienen los sistemas distribuidos, implementarlos requiere un mayor conocimiento, ya que son más complejos y se utilizan más herramientas. Sin embargo, con el desarrollo de la tecnología, pronto será más fácil hacer uso de este tipo de sistema. Pero incluso ahora, su correcta implementación representa más ventajas que desventajas y es el sistema más viable en el caso de sistemas comerciales, comunicaciones, juegos multi usuario y otros sistemas que requieran de velocidad y regularidad de transferencia de una gran cantidad de datos.

    Referencias:

  • Alberto Lafuente. (2017). Introducción a los sistemas distribuidos . Agosto, 2017, de Universidad del País Vasco Sitio web: http://www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf
  • Einar Turpo Aroquipa. (2017). Sistemas Distribuidos. Agosto, 2017, de Universidad Nacional del Altiplano Sitio web: http://www.unap.edu.pe/cidiomas/licing/pdf/sd.pdf
  • George Coulouris, Jean Dollimore, Tim Kindberg. (2001). Sistemas Distribuidos: conceptos y diseño. España: Pearson Educación.
  • 6 comentarios:

    Sistemas Heredados

    Conclusiones Los sistemas heredados pueden llegar a representar la base de la funcionalidad de una empresa, además de contener informa...