Sistemas Distribuidos

Introducción

La computación desde su inicio ha sufrido muchos cambios, han pasado de ser grandes computadoras que permitían realizar tareas en forma muy limitada y de uso exclusivo de organizaciones secretas, hasta las actuales computadoras que se han vuelto personales, además de que incluyen las mismas e incluso mayores capacidades que las de la primera generación y están cada vez más introducidas en el día a día de una persona satisfaciendo sus necesidades. Este cambio tan grande que se ha dado en la historia de la computación se debe a dos cosas que parecen simples, pero en realidad son más complejas de lo que parecen, ya que gracias a estos han facilitado el avance tecnológico:
1.- La creación de los microprocesadores, que permitieron reducir el tamaño y costo de las computadoras, además aumentar en a gran escala las capacidades de estos, así mismo logró que más personas tuvieran acceso a ellos.
2.- La creación de redes en áreas locales y de comunicaciones que lograron conectar dos o más computadoras para poder tener una transferencia de datos a una velocidad considerable.

¿Qué es un sistema distribuido? 

Es un sistema cuyos componentes hardware y software, que están en computadoras conectadas en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo preestablecido. 
Un sistema distribuido se caracteriza por 3 aspectos:
1.- Concurrencia: Permite que los recursos en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan con la red.
2.- Carencia de reloj global: La coordinación para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, ya que está distribuida en los componentes.
3.- Fallos independientes de los componentes: Esta caracteristica es muy importante, ya que si algun componente del sistema llegara a fallar, el sistema podría continuar ejecuntando sus acciones.

Evolución de los sistemas distribuidos

Uno de los primeros modelos de computadoras intercontectadas, es el procesamiento central (Host), tambien llamado centralizado, ya que todo el procesamiento de la organización se llevaba a cabo en una sola computadora, y los usuarios empleaban sencillas computadoras personales.
Otro modelo que compitió con el anterior es el grupo de servidores, tambien es un poco centralizado y son un grupo de computadoras actuando como servidores, normalmente de archivos, para un numero de minicomputadoras que hacen el procesamiento conectados a una red local.
Por último se encuentra el modelo cliente servidor, es el que actualmente predomina en la actualidad, ya que permite descentralizar el procesamiento y recursos, es decir, es un sistema donde el cliente es una maquina que solicita un determinado servicio y se denomina servidor a la maquina que lo proporciona. Los servidores mas comunes son:

1.- De archivos: Proporciona archivos a los clientes.
2.- De bases de datos: Almacenan datos estructurados.
3.- De software de grupo: Permiten organizar el trabajo en un grupo.
4.- Web: Guardan y proporcionan páginas HTML.
5.- De correo: Gestionan el envío y recepción de correos del usuario.
6.- De impresión: Gestionan las solicitudes de impresión.

Existen diversas arquitecturas cliente servidor, las más populares hoy en día son:

1.- Cliente servidor de dos capas: Consiste en una capa de presentación y lógica de la presentación y otra en la que se encuentra la base de datos. Se usa generalmente cuando se tiene una base de datos centralizada, además de que es estática y se requiera poco procesamiento de datos.
2.- Cliente servidor de tres capas: Consiste en una capa de presentación, otra de lógica y una ultima en la que está la base de datos. Se usa generalmente cuando la funcionalidad está en constante cambio y los procesos no están muy relacionados.

Ventajas de un sistema distribuido

Ventajas con los sistemas centralizados:
+ Economía: Es mucho más barato añadir servidores y clientes cuando se requiere aumentar la potencia de procesamiento.
+ Mayor confiabilidad: Al estar la carga de trabajo distribuida en muchas maquinas y una falla, no afectará al proceso de las demás. 
Ventajas con las computadoras independientes:
+ Se pueden compartir recursos como programas, correos, etc.

Conclusión

Los sistemas distribuidos abarcan una  gran cantidad de aspectos considerables, por lo que su desarrollo implica una complejidad muy alta, ya que existen ciertos aspectos que requieren de extremo cuidado al desarrollarse e implantarse, además de que existen numerosas tecnologías que están en constante desarrollo, lo que lleva a estudio previo de muchos factores antes de elegir alguna tecnología en especial.
En el inicio, los modelos Host y grupos de servidores tenían una utilidad muy básica, a pesar de sus carencias e ineficiencias que presentaban logró salir un nuevo y mejorado modelo que es el que actualmente poseemos permitiendo una conexión entre diferentes sistemas que antes se pensaba que era imposible.
Los sistemas distribuidos seguirán mejorando con el paso del tiempo e incluso algún día exista una mejor tecnología que lo deje obsoleto, como pasa casi siempre con los distintos sistemas, lo unico que nos queda es esperar y adaptarnos a estos nuevos avances.

Bibliografía

Sistemas Distribuidos George Coulouris; Jean Dollimore; Sebastián Dormido; Tim Kindberg Editorial: Addison Wesley | 3era Edición Idioma: Español ISBN: 8478290494.

Sistemas Distribuidos: Principios y Paradigmas; Andrew S. Tanenbaum, Maarten van Oteen
Editorial: Prentice Hall | 2era Edición Idioma: Español ISBN:0132392275

Comentarios

Entradas más populares de este blog

Cifrado Asimétrico

Proceso de depuración

Sockets