SISTEMAS DISTRIBUIDOS SISTEMAS DE ARCHIVO EVELYN MAZACHE UNIVERSIDAD ESTATAL DE MILAGRO 5º DE ING. SISTEMAS C1 MSC. RICHARD RAMIREZ EVELYN UNEMI 30/07/2010 SISTEMAS DISTRIBUIDOS DEFINICION Un sistema distribuido es un conjunto o colección de computadoras conectadas entre si por una red por la cual se comunican o coordinan sus acciones mediante el paso de mensajes para así lograr algún objetivo. Cada computadora contiene sus componentes (hardware y software) pero ante los usuarios del sistema aparecen como una única computadora, los sistemas distribuidos deben ser confiables y su tamaño puede ser muy variado. OBJETIVOS Compartir información y otros recursos Escalabilidad y Crecimiento en sus recursos Buen desempeño Mayor disponibilidad Mejor comunicación CARACTERISTICAS COMPARTICION DE RECURSOS Al decir compartición de recursos nos referimos a que hay varias entidades que pueden compartirse en un sistema desde componentes hardware como discos e impresoras hasta componentes software como ficheros, ventanas, bases de datos. Esta no es una nueva idea de sistemas distribuidos, otros sistemas han usado la compartición de recursos con los usuarios. Los recursos están encapsulados en una computadora y solo puede acceder a la información otra por medio de la comunicación o la red, para que la compartición de recursos sea efectivo debe ser manejada por un programa que mediante una interfaz pueda manipular, acceder y actualizar el recurso para que sea mas confiable. COMUNICACIÓN Los usuarios ubicados en los diferentes nodos pueden comunicarse de manera confiable mediante mensajes. CRECIMIENTO INCREMENTAL Permite que se añadan nuevos subsistemas a los sistemas distribuidos sin la necesidad de actualizar los sistemas existentes, es decir sin que afecte a los recursos del sistema. DEPENDIENTE DE REDES (LAN, MAN, WAN, ETC.) COMPATIBILIDAD ENTRE LOS DISPOSITIVOS CONECTADOS Estas características se realizan usando los siguientes componentes de hardware y software: COMPONENTES DE HARDWARE: sistemas de cómputo individuales y hardware de realización de redes tales como cables. COMPONENTES DE SOFTWARE: Software de realización de redes que permitan una comunicación confiable, componentes de sistemas operativos, lenguajes de programación. Etc. RETOS O DESAFIOS HETEROGENEIDAD DE LOS COMPONENTES Estándares que permiten la comunicación cuando haya una interconexión y mas aun si es a internet ya que se utilizan varios componentes del hardware y software CONCURRENCIA En los sistemas distribuidos hay varias maquinas, cada una con dos o mas procesadores centrales. Esto quiere decir que si hay N ordenadores en un sistema distribuido con un procesador central este puede estar ejecutando hasta N procesos. En si se esta ejecutando la concurrencia es cuando existen uno o varios procesos en una sola maquina o cuando se comparte recursos por partes de los usuarios a la vez. SEGURIDAD Es muy importante para los usuarios la seguridad en el manejo de los sistemas, por lo cual brinda confidencialidad o protección de contra usuarios no autorizados, asegurar las comunicaciones protección contra alteración y también, protección contra interferencia para el acceso a recursos ESCALABILIDAD Un sistema es escalable cuando sigue siendo confiable y eficaz, es decir conserva su efectividad al ocurrir algún incremento de recursos o usuarios. La necesidad de escalabilidad esta ligada a todos los aspectos del sistema distribuido no solo de la red o del hardware, tanto el software del sistema como las aplicaciones no debería cambiar cuando el sistema se incremente. El diseño del sistema debe reconocer las necesidades de escalabilidad de este sino habrá serias limitaciones. La demanda de escalabilidad de sistemas distribuidos lleva a que un diseño en cualquier recurso simple hardware o software pueda extenderse para dar servicio a tantos usuarios como se quiera, es decir que si un recurso crece, debería poderse ampliar el sistema para darle servicio. TRATAMIENTO A FALLOS Los sistemas informáticos tienden muchas veces a fallar. Al ocurrir esto los programas pueden detenerse o dar resultados incorrectos. DETECCIÓN DE FALLOS. Detectar fallos q se puedan dar ENMASCARAMIENTO DE FALLOS. Los fallos detectados pueden ocultarse o atenuarse. TOLERANCIA DE FALLOS. Sobre todo en Internet se dan muchos fallos y no es muy conveniente ocultarlos, es mejor tolerarlos y continuar. El diseño de sistemas tolerantes a fallos se basa en dos cuestiones: el uso de componentes redundantes y la recuperación del software. RECUPERACIÓN FRENTE A FALLOS. Tras un fallo se deberá tener la capacidad de volver a un estado anterior. Para poder recuperar la información o datos. REDUNDANCIA. Se puede usar para tolerar ciertos fallos. TRANSPARENCIA La transparencia se define como la ocultación al usuario y al programador de aplicaciones de los componentes de un sistema distribuido, de tal manera que se ve al sistema como un todo y no como un conjunto de componentes independientes. Se consideran ocho transparencias importantes para que un sistema distribuido cumpla sus objetivos estas son: TRANSPARENCIA DE ACCESO.- es la capacidad de poder acceder a recursos locales y remotos de una manera idéntica. TRANSPARENCIA DE LOCALIZACIÓN.- es cuando cualquiera de los recursos de un sistema pueden acceder a los objetos sin importar su localización geográfica o sin conocimiento de la ubicación. TRANSPARENCIA DE CONCURRENCIA.- permite que varios usuarios o aplicaciones utilicen los mismos objetos sin que el trabajo de uno interfiera en el del otro. Es decir utilicen recursos compartidos sin interferencia. TRANSPARENCIA EN REPLICACIÓN.- permite utilizar varios ejemplares de los recursos para aumentar la fiabilidad y sin que los usuarios y las aplicaciones tengan que conocer la existencia de las replicas. TRANSPARENCIA EN FALLOS.- oculta los fallos del hardware o software, permitiendo que el usuario y las aplicaciones culminen sus tareas sin que existan perdidas. TRANSPARENCIA DE MIGRACIÓN.- permite el movimiento de los objetos sin que esto pueda afectar a los usuarios o a las aplicaciones. TRANSPARENCIA DE PRESTACIONES.- permite la reconfiguración del sistema para mejorar su rendimiento sin afectar usuarios o aplicaciones. TRANSPARENCIA DE ESCALADO.- permite que el sistema pueda extenderse o aumentar dispositivos según sea necesario, pero sin cambiar la estructura del sistema. EVOLUCION PROCESAMIENTO CENTRAL (HOST).- Uno de los primeros modelos de ordenadores interconectados done todo los proceso se llevaban acabo en una sola computadora y los usuarios ejecutaban los procesos en ordenadores individuales. Se los conocía como centralizados. Problemas: Las interfaces graficas podían colapsarse cuando había mucha información Era muy costoso cuando aumentaban los procesos y se tenía que cambiar el hardware del mainframe. GRUPO DE SERVIDORES.- este modelo compitió con el anterior, se trataba de un conjunto de ordenadores que actuaban como servidores poco inteligentes para unos minicomputadores q trabajan en una red local Problemas: Saturación en la comunicación entre los servidores poco inteligentes y las minicomputadoras LA COMPUTACIÓN CLIENTE-SERVIDOR.- este modelo es el actual, los servidores se dedican a una aplicación determinada y por lo tanto realizarla de una forma eficiente CLIENTE-SERVIDOR Es un enfoque mas claro de la compartición de información y de recursos en los sistemas distribuidos, el modelo cliente-servidor se ha extendido en la actualidad manejando varios servicios como correo electrónico y mensaje, ficheros, almacenamiento en disco, comunicaciones de área extensa e incluso las interfaces graficas de usuarios. En si se podría decir que el cliente es una maquina que pide información y la maquina que la proporciona es el servidor. Aunque este modelo no cumple todas las características para unas aplicaciones, es adecuado para muchas aplicaciones actuales. Trabaja con un protocolo solicitud respuesta. Beneficios: Mejor aprovechamiento de la potencia de cómputo. Reducción del trafico en la red Facilita el uso de interfaces graficas Cliente: Conjunto de software y hardware que piden un servicio a uno o varios servidores Maneja interfaz Procesa datos con el usuario Servidor: Responde los requerimientos del cliente. Tipos comunes de Servidores: Servidor de Archivos (FTP, Novell). Servidor de Bases de Datos (MySQL, ORACLE, INFORMIX). Servidor de Impresión. Servidor de Terminal. Servidor de Aplicaciones (Windows NT, Novell). Funciones Acceso organización y almacenamiento de datos Se encarga de administrar los recursos que se comparten Utiliza la lógica para realizar los procesos MIDDLEWARE Es el que facilita la interacción cliente- servidor, y a través de el se provee el acceso transparente a recurso y servicios distribuidos en una red, que sirve para una comunicación cliente servidor de un sistema. El protocolo usado en el middleware es el TCP/IP. Es la capa de software que permite gestionar los mecanismos de comunicación. Es decir el middleware es la capa intermedia entre el cliente y el servidor. Existen dos tipos Software intermedio general.- son los servicios que necesitan todos los clientes y servidores Software intermedio de servicios.- es un software asociado a un servicio en particular Características Independiza servicios Permite la convivencia de distintos servicios en un mismo sistema Transferencia en el sistema PROTOCOLOS Un protocolo es un conjunto de reglas e instrucciones que se utilizan para la comunicación gobernando en el intercambio de paquetes y mensajes. Existen dos aspectos Especificación de la secuencia de mensajes que deben intercambiarse en los procesos. Especificación del formato de los datos en los mensajes. Protocolos utilizados en sistemas distribuidos IP: Protocolo de Internet (capa de red).- se encarga del direccionamiento de información para que pueda llegar a su destino en la red y define la unidad básica de transferencia de información. TCP: Protocolo de Control de Transmisión (capa de transporte).- se encarga de transportar la información dividiéndola en paquetes de menor tamaño y de la recepción de esta. HTTP: Protocolo de Transferencia de Hipertexto (capa de aplicación).- se encarga de la transferencia de hipertexto entre la web y los servidores. SMTP: Protocolo de Transferencia de Correo Simple (capa de aplicación).- se encarga del envío de correo electrónico. POP3: Protocolo de Oficina de Correo (capa de aplicación).- permite recuperar correos almacenados en el servidor. CAPAS Capa de Red.- maneja el acceso del hardware de red. Capa de Internet.- transfiere los distintos paquetes (datagramas) entre diferentes computadoras. Capa de Transporte.- transmisión de mensajes entre diferentes procesos. Capa de Aplicación.- formado por las distintas aplicaciones que utiliza la capa de transporte para comunicarse entre sí. APLICACIONES Aplicaciones Comerciales Construidos con hardware dedicado y alrededor de sistemas centralizados, pero por su distribución geográfica y su necesidad de acceso a distintos sistemas dentro del centralizado se implementan a los sistemas distribuidos. Estas pueden ser: Aplicaciones Bancarias Cadenas de Supermercados Cajeros de grandes almacenes Aplicaciones para Redes WAN Dado el crecimiento del área extensa o WAN (Internet), es ahora muy importante el intercambio de información a través de la red. Y así empezaron a aparecer muchos servicios de intercambio de información. Estos pueden ser: Correo Electrónico Servicio de Noticias(NEWS) Servicio de Transferencia de Ficheros(FTP) Búsqueda de Ficheros (Archie) Servicio de Consulta Textual (Gopher) Worl Wide Web (WWW) Aplicaciones Multimedia Son las últimas implementaciones a los sistemas distribuidos, para poder tener regularidad de transferencia y buena velocidad las aplicaciones necesita del hardware, y más aun en la velocidad. Estos pueden ser: Videoconferencias Televigilancia Juegos Multiusuario AREAS DE LA INFORMACION APLICADA A LOS SISTEMAS DISTRIBUIDOS En esta parte se tiene encuentra toda la variedad de aplicaciones utilizadas por los sistemas distribuidos. Entre la variedad de áreas tenemos: Comunicaciones (hardware y software) Sistemas operativos distribuidos Base de datos distribuida Lenguajes de programación distribuida Sistema de tolerancia a fallos VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS Con respecto a los sistemas centralizados Los SD son más económicos al momento de aumentar la potencia de procesamiento Una mayor velocidad Da confiablidad es decir si hay gran trabajo en varias maquinas y una maquina falla no afecta a las demás Tiene mejor escalabilidad puede incrementar según sus necesidades Con respecto a las PCs independientes Mejor comunicación Satisface las necesidades de muchos usuarios a la vez Compartir dispositivos y datos DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS Software Es el más problemático ya que no hay mucha experiencia en el diseño, implementación y uso de software distribuido, esto puede conllevar una escasez de productos de software distribuidos. Red Es que si esta llegar a saturarse, perder mensajes eso puede dar problemas a los usuarios es decir no podría proporcionar las ventajas que los sistemas distribuidos están encargados de proporcionar. Seguridad Si se puede conseguir acceso ilegal a la red es un problema pues así tendría acceso a información que no le corresponde CONCLUSION La tecnología esta en constante desarrollo por lo cual es necesaria la aplicación de los sistemas distribuidos, ya que estos ayudan al mejoramiento de la comunicación, envió de mensaje, etc. De una manera mas confiable y eficiente que otros sistemas, ya que en si un sistema distribuidos es una colección de computadoras conectadas a una red lo cual facilita la comunicación, y tienen un objetivo que es el de compartir fácilmente información. Aunque su desarrollo implica mucha complejidad. Hay muchas aplicaciones dentro de sistemas distribuidos que requieren de mucho cuidado al implementarse como el tratamiento de fallos, la concurrencia, el incremento, etc. BIBLIOGRAFIAS www.monografias.com/.../sistemas-distribuidos/sistemas-distribuidos. es.wikipedia.org/wiki/Computación distribuida Tanenbaum, A. S. (1996). Sistemas Operativos distribuidos. Ed Prentice Hall. 1ª Ed. Sistemas distribuidos conceptos y diseños G. Coulouris J. Dellimore Timkinberg ccc.inaoep.mx/~lamorales/distribuidos/sistemas%20distribuidos.pdf www.dia.eui.upm.es/asignatu/sis_dis/Paco/Introduccion.pdf Sistemas distribuidos D. M. DMAMDHERE MCGRAW-Hill/INTERAMERICANA EDITORES, S.A. DE C.V. Impreso en México enero 2008 FUNDAMENTOS DE SISTEMAS OPERATIVOS MCGRAW-Hill/INTERAMERICANA DE ESPAÑA, S.A. 2006 Carmelo Sánchez Gonzales www.monografias.com › Computacion www.sc.ehu.es/acwlaroa/SDI/Apuntes/Cap1.pdf SISTEMAS DISTRIBUIDOS COMPARTICION DE RECURSOS CLIENTE SERVIDOR MIDDLEWARE PROTOCOLO CAPAS Arquitecturas – Internet/World Wide Web/CGI