domingo, 11 de agosto de 2013

Sistemas Distribuidos

 Sistemas Distribuidos


Introducción
. 2
Desarrollo
   · Definición

   · Historia. 4
        * Etapas. 4

   · Características. 5
         * Concurrencia. 5
         * Carencia de reloj global. 5
         * Fallos independientes de los componentes. 6

Conclusión

Introducción


En varios de los sistemas utilizados en la actualidad por los usuarios de medios informáticos logramos percibir una gran cantidad de elementos; desde la interfaz gráfica a la base de datos, pero realmente sabemos dónde están cada uno de estos elementos, estos se puede ubicar desde Norteamérica hasta Asia o de Alaska hasta Argentina según lo facilite el desarrollador.

Pero realmente como se puede lograr esto sin la necesidad de cables de grandes extensiones , para lo anterior se hace el uso de los Sistemas Distribuidos , que da al desarrollador la oportunidad de tener en un lugar el servidor del sistema mientras que en otro lugar del mundo se puede tener al cliente que utilice el sistema.

Otra de las interrogantes que suele surgir en el usuario es ¿Por qué si una computadora falla no afecta todo el sistema? , lo anterior puede explicarse gracias a las características de los Sistemas Distribuidos.

Por lo anterior, algo esencial en el aprendizaje de los Desarrolladores de Software es el uso de los Sistemas Distribuidos ya que permite la comercialización del Sistema al facilitar el cliente la utilización de sus sistemas y a su vez permitir una mayor seguridad en el uso de estos, un ejemplo de estos sistemas son el Internet , las redes Móviles, redes empresariales, entre otros sistemas de gran popularidad en la actualidad.

Desarrollo


(Alberto Lafuente, 2012)1 El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. Más recientemente, la disponibilidad de computadoras personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario. Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir los recursos del sistema – hardware, software y datos.

Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección de redes de área local y de área extensa interconectados, que en lazan millones de ordenadores.
Para entender lo que son los Sistemas Distribuidos, primero analizaremos algunas definiciones que le han dado algunos autores y con esta se podrá generar un definición más adecuada.

·  Definición


"Un sistema distribuido se define como una colección de computadores autónomos conectados por una red, y con el software distribuido adecuado para que el sistema sea visto por los usuarios como una única entidad capaz de proporcionar facilidades de computación".
(Colouris, 1994)2
 Sistemas cuyos componentes hardware y software, que están en ordenadores conectados 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 prefijado por un esquema cliente-servidor”
(Colouris G. , 2001)3
Las definiciones anteriores nos permiten dar una percepción acerca de los Sistemas Distribuidos, las definiciones anteriores concuerdan en varios aspectos tales como, la conexión por medio de una red, mediante un modelo cliente-servidor.
Por las definiciones y los componentes que posee se puede definir un Sistema Distribuido como “Un conjunto de computadoras y servidores autónomos conectados por medio de una red, guiados por un software basado en un protocolo con base al modelo cliente-servidor que permite que los sistemas trabajen en coordinación, mediante la comunicación a través de mensajes, permitiendo realizar acciones al facilitar la utilización del sistema de parte los usuarios.”.
Las definiciones anteriores van entrelazadas gracias al uso de las tecnologías en la informática, puesto a que hoy en día la mayoría de los Software’s utilizados requieren de Sistemas Distribuidos, al facilitar la utilización de los Sistemas de parte de los usuarios y de los desarrolladores; al igual conforme se fue desarrollando la tecnología de la informática igualmente se fue desarrollando los Sistemas Distribuidos mediante la actualización o creación de características de en mejora de estos.

·  Historia

(Romero, 2012)4 El desarrollo de los sistemas distribuidos vino de la mano de las redes locales de alta velocidad a principios de 1970. Más recientemente, la disponibilidad de computadoras personales de altas prestaciones, estaciones de trabajo y ordenadores servidores ha resultado en un mayor desplazamiento hacia los sistemas distribuidos en detrimento de los ordenadores centralizados multiusuario.

RMI (Java Remote Method Invocation) es un mecanismo ofrecido por Java para invocar un método de manera remota. Forma parte del entorno estándar de ejecución de Java y proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.

Esta tendencia se ha acelerado por el desarrollo de software para sistemas distribuidos, diseñado para soportar el desarrollo de aplicaciones distribuidas. Este software permite a los ordenadores coordinar sus actividades y compartir los recursos del sistema - hardware, software y datos.

Los sistemas distribuidos se implementan en diversas plataformas hardware, desde unas pocas estaciones de trabajo conectadas por una red de área local, hasta Internet, una colección de redes de área local y de área extensa interconectados, que en lazan millones de ordenadores.

     o   Etapas. 
  1.  En los 40's, se introducen los programas bit a bit, por medio de interruptores mecánicos y después se introdujo el leng. máquina que trabajaba por tarjetas perforadas.
  2. Con las primeras computadoras, desde finales de los años 40 hasta la mitad de los años 50, el programador interactuaba de manera directa con el hardware de la computadora, no existía realmente un Sistema Operativo; las primeras computadoras utilizaban bulbos, la entrada de datos y los programas se realizaban a través del lenguaje máquina (bits) o a través de interruptores.
  3.  Durante los años 50's y 60's.- A principio de los 50's, la compañía General's Motors implanto el primer sistema operativo para su IBM 170. Empiezan a surgir las tarjetas perforadas las cuales permiten que los usuarios (que en ese tiempo eran programadores, diseñadores, capturistas, etc.), se encarguen de modificar sus programas. Establecían o apartaban tiempo, metían o introducían sus programas, corregían y depuraban sus programas en su tiempo. A esto se le llamaba trabajo en serie. Todo esto se traducía en pérdida de tiempo y tiempos de programas excesivos.
  4.  En los años 60's y 70's se genera el circuito integrado, se organizan los trabajos y se generan los procesos Batch (por lotes), lo cual consiste en determinar los trabajos comunes y realizarlos todos juntos de una sola vez. En esta época surgen las unidades de cinta y el cargador de programas, el cual se considera como el primer tipo de Sistema Operativo.
  5. En los 80's, inició el auge de la INTERNET en los Estados Unidos de América. A finales de los años 80's comienza el gran auge y evolución de los Sistemas Operativos. Se descubre el concepto de multiprogramación que consiste en tener cargados en memoria a varios trabajos al mismo tiempo, tema principal de los Sistemas Operativos actuales.
  6. En los 90's y en adelante, entramos a la era de la computación distribuida y del multiprocesamiento a través de múltiples redes de computadoras, aprovechando el ciclo del procesador. 

·  Características

Para permitir un mejor desempeño de los Sistemas Distribuidos se ha basado en tres descripciones fundamentales, las cuales permiten dar seguridad a los Usuarios de estos Sistemas estas características son:
            o   Concurrencia.

Esta característica permite a los usuarios la utilización de varios servidores a la vez sin que afecte su uso la utilización general de la red o del Sistema, sin modificar las acciones que estén haciendo en ese momento.

Un ejemplo de este Sistema es Facebook ya que permite la utilización del Sistema por varios Usuarios, sin que un Usuario afecte la cuenta de otro , generando con esto una seguridad en cuanto a lo que se refiere a la protección de datos ; al evitar que un usuario diferente al propietario de la cuenta pueda hacer movimientos en la cuenta.

     o   Carencia de reloj global.


En este caso nos ayuda que al enviar mensajes entre servidores no afecte la hora en la cual es transmitida según la región en la Tierra donde sea transmitida, ya que de lo contrario crearía una confusión de parte de los ordenadores.

Un ejemplo de la utilización de esta características es que si un Usuario esta en Estados Unidos comunicándose con otro de Francia no afecte debido a la hora o se tarde en trasmitir hasta que de la hora de transmisión en el receptor del mensaje

     o   Fallos independientes de los componentes.


Esta característica permite a los usuarios la utilización de varios servidores y si llegara a fallar uno no afecte a todo el Sistema; dentro de las cosas que resguarda están la base de datos; ya que por ejemplo si falla el servidor de un usuario no se afecta a todos los usuarios.

Un ejemplo de este Sistema es el Internet, que por ejemplo si un usuario de este Sistema no posee el servicio no significa que todos los usuarios no tienen Internet, para evitar esto se han creado una serie de procedimientos dentro del modelo Cliente-Servidor.

Sistemas Distribuidos

Conclusión

Los Sistemas Distribuidos aparte de ser un Sistema que te permite mantener en lugares diferentes al Cliente que al Servidor; también da la oportunidad de mantener una seguridad a lo que se refiere al funcionamiento
Por esto es importante que los Desarrolladores de Software aprendan a utilizar este tipo de tecnologías ya que con esto le daría una mayor facilidad en el uso de los Servicios basados en la Programación.
Todo esto se fue percibiendo a lo largo del desarrollo de las tecnologías de la Información; con el interés de darle una mayor facilidad a los Usuarios y a los desarrolladores, permitiendo dar una mayor facilidad al momento de ejecutar un Sistema.

Referencias


1.   Alberto Lafuente, M. L. (2012). Sistemas Distribuidos. Obtenido de Dpto. ATC, UPV/EHU: http://www.sc.ehu.es/acwlaalm/sdi/introduccion-slides.pdf
2.    Colouris. (1994). Asociación de Usuarios de GNU/Linux de Castilla y León. Obtenido de http://www.augcyl.org/?q=glol-intro-sistemas-distribuidos
3.    Colouris, G. (2001). En S. Distribuidos. Madrid: Addison Wesley.
4.   Romero, A. S. (2012). Conceptualización de los sistemas distribuidos (SD). Antecedentes de los Sistemas Distribuidos. Guadalajara, Jalisco: Universidad de Guadalajara.

No hay comentarios.:

Publicar un comentario