SISTEMAS DISTRIBUIDOS

Ing. Bertha E. Mazón Olivo, Mg. Sc.

Bertha E. Mazón Olivo
Ingeniera en Sistemas
Magíster en Informática Aplicada
Docente Escuela de Informática

Bienvenido a este espacio dedicado al estudio de las siguientes asignaturas:

Sistemas Distribuidos

Utilitarios III

Estructuras de Datos II

Simulación de Sistemas

LOS SISTEMAS DISTRIBUIDOS

1. INTRODUCCIÓN.

Desde el inicio de la era de las computadoras en la década de los 40  hasta cerca de los 80, surgió la computación centralizada que consistía en algunos terminales, sin capacidad de procesamiento ni almacenamiento, conectados a un supercomputador que se encargaba de todo el trabajo. Al incrementar los usuarios y la necesidad de procesamiento, crece el riesgo de fallo del computador principal y de todo el sistema; cambiar o actualizar el supercomputador implicaba costos elevados. A partir de la mitad de la década de los ochentas aparecen dos avances tecnológicos fundamentales: el desarrollo de microprocesadores poderosos y económicos y el desarrollo de redes de área local (LAN) de alta velocidad, con posibilidad de conectar cientos de máquinas a velocidades de transferencia de millones de bits por segundo (Mbps). Estos avances propiciaron la evolución de sistemas centralizados a procesamiento distribuido y luego a cliente-servidor.

A continuación se describe panorámicamente los aspectos relevantes de los Sistemas Distribuidos.

 

2. DESARROLLO.

Las organizaciones a medida que se expanden en el mercado, crecen también los procesos y su información, haciéndose inminente la innovación continua de su sistema, de sus herramientas, la tecnología y sobre todo del personal capacitado.

Para la gestión de los sistemas de información  en las organizaciones que poseen cientos o miles de usuarios requiriendo acceso a dispositivos, programas y datos, es necesario pensar en sistemas distribuidos físicamente, pero lógicamente  integrados como si fueran un solo sistema.

2.1. ¿Qué es un Sistema Distribuido?

Un sistema cuyos componentes hardware y software se encuentran en computadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes controlados por protocolos prefijados por un esquema cliente servidor.

2.2. Características.

Algunas de las características  relevantes de los sistemas distribuidos son: la compartición de recursos, la concurrencia, la apertura, la escalabilidad, la carencia de un reloj global, la tolerancia a fallos de su componentes y sobretodo la transparencia. A continuación se describe cada una:

– Compartición de Recursos. Los recursos en un sistema distribuido están físicamente encapsulados en computadoras y  pueden ser accedidos por otras computadoras mediante la red; para que la compartición de recursos sea efectiva se requiere de un programa gestor de recursos, que ofrezca un interfaz de comunicación permitiendo su acceso, manipulación y actualización de una manera fiable y consistente; los usuarios se comunican con estos programas gestores para acceder a los recursos compartidos del sistema según dos modelos de sistemas distribuidos: el modelo cliente-servidor y el modelo basado en objetos.

–   Concurrencia. Permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios. Esto es posible, si varios procesos en una única máquina se ejecutan concurrentemente. Sin embargo, Si el computador está equipado con un único procesador central, la concurrencia tiene lugar entrelazando la ejecución de los distintos procesos. O, si la computadora tiene varios procesadores, entonces se pueden ejecutar los procesos en paralelo. En los sistemas distribuidos hay muchas computadoras, cada una con uno o más procesadores.

–   La apertura. Los sistemas distribuidos abiertos se basan en la provisión de un mecanismo uniforme de comunicación entre procesos e interfaces publicados para acceder a recursos compartidos. Los sistemas distribuidos abiertos pueden construirse a partir de hardware y software heterogéneo, posiblemente proveniente de vendedores diferentes. Pero la conformidad de cada componente con el estándar publicado debe ser cuidadosamente comprobada y certificada si se quiere evitar tener problemas de integración.

–   La escalabilidad. Tanto el software de sistema como el de aplicación no deberían cambiar cuando la escala del sistema se incrementa. La demanda de escalabilidad en los sistemas distribuidos ha conducido a una filosofía de diseño en que cualquier recurso simple hardware o software puede extenderse para proporcionar servicio a tantos usuarios como se quiera.  Cuando el tamaño y complejidad de las redes de computadores crece, es un objetivo primordial diseñar software de sistema distribuido que seguirá siendo eficiente y útil con esas nuevas configuraciones de la red. Las técnicas necesarias para conseguir estos objetivos incluyen el uso de datos replicados, la técnica asociada de caching, y el uso de múltiples servidores para manejar ciertas tareas, aprovechando la concurrencia para permitir una mayor productividad.

–   Tolerancia a Fallos. Cuando uno de los componentes de un sistema distribuidos falla, solo se ve afectado el trabajo que estaba realizando el componente averiado. Un usuario podría desplazarse a otra estación de trabajo y el proceso servidor podría ejecutarse en otra máquina sin problema. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre sí: redundancia hardware (uso de componentes redundantes) y recuperación del software (diseño de programas que sean capaces de recuperarse de los fallos). En los sistemas distribuidos la redundancia puede plantearse en un grano más fino que el hardware, pueden replicarse los servidores individuales que son esenciales para la operación continuada de aplicaciones criticas. La recuperación del software tiene relación con el diseño de software que sea capaz de recuperar (roll-back) el estado de los datos permanentes antes de que se produjera el fallo.

–   La carencia de un reloj global. Se refiere a que no existe una temporización general para la ejecución de los procesos entre los diferentes componentes, es más bien distribuida.

–   Transparencia. La transparencia se define como la ocultación al usuario y al programador, la separación de las aplicaciones y de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una colección de componentes independientes. La transparencia ejerce una gran influencia en el diseño del software de sistema. Existen varios tipos de transparencia, la más importante es la transparencia de red que abarca el acceso y localización de los recursos, simulando ser un sistema centralizado.

Ventajas de los Sistemas Distribuidos

  • La economía, es mucho más barato, añadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento.
  • El trabajo en conjunto. Por ejemplo: en una fábrica de ensamblado, los robots tienen sus CPUs diferentes y realizan acciones en conjunto, dirigidos por un sistema distribuido.
  • La confiabilidad. Al estar distribuida la carga de trabajo en muchas máquinas, la falla de una de ellas no afecta a las demás, el sistema sobrevive como un todo.
  • Capacidad de crecimiento. Se puede añadir procesadores al sistema incrementando su potencia en forma gradual según sus necesidades.
  • La compartición de recurso. Se pueden compartir recursos, como programas, periféricos y datos
  • La Disponibilidad de los Dispositivos. Gracias a la redundancia los usuarios podrán acceder a los servicios a pesar de algún fallo.
  • Se logra una mejor comunicación entre las personas. Ejemplo: el correo electrónico.
  • Tienen mayor flexibilidad, la carga de trabajo se puede distribuir entre diferentes ordenadores

Leer Artículo Completo

Puedes saltar al final y dejar una respuesta. Actualmente ping no est permitido.

One Response to “SISTEMAS DISTRIBUIDOS”

Deja un Comentario

Ud. debe estar logueado para escribir un comentario.