Вы находитесь на странице: 1из 18

Trabajo

Comunicacin de Datos
SISTEMAS DISTRIBUIDOS
MarioEliseoCabreraDurand

5CV2-CADM-1/er

Contenido
INTRODUCCIN...................................................................................................................................2 AntecedentesdelosSistemasDistribuidos........................................................................................ 3 DefinicinyconceptodeSistemaDistribuido.................................................................................... 3 DefinicinyconceptodeMiddleware................................................................................................ 4 DiferenciaconlasRedesdeComputadoras. ....................................................................................... 5 CaractersticasdelosSistemasDistribuidos....................................................................................... 5 ComparticindeRecursos.............................................................................................................. 5 Concurrencia...................................................................................................................................6 Apertura(opennesss)...................................................................................................................... 7 Escalabilidad....................................................................................................................................8 Transparencia..................................................................................................................................9 ToleranciaaFallos......................................................................................................................... 10 ArquitecturadelosSistemasDistribuidos........................................................................................ 10 ...........................................................................................................................................................14 ProcesamientoDistribuido................................................................................................................ 14 Procesamientodistribuidobasadoenentradaysalida................................................................14 Procesamientodistribuidobasadoenllamadasaprocedimientosremotos...............................14 Procesamientodistribuidobasadoenobjetosdistribuidos.........................................................15 Procesamientodistribuidobasadoenmemoriacompartida.......................................................15 CONCLUSIONES.................................................................................................................................16 REFERENCIASBIBLIOGRAFICAS......................................................................................................... 17

INTRODUCCIN
En este trabajo se dar una idea general, de cuando hablamos los sistemas distribuidos interconectados por medio de transmisin, el modelo cliente servidor, caractersticas de los sistemas expertos, su arquitectura y procesamiento.

Los cuales son parte de nuestra actual forma de vivir, sin que nos demos cuenta de ello, pero cada vez que realizamos una bsqueda en Internet, accesamos a un servidor o consultamos los horarios de vuelo. Utilizamos estos conceptos.

Antecedentes de los Sistemas Distribuidos.


El diseo e investigacin de herramientas para los sistemas operativos centralizados convencionales, los cuales corren en sistemas de uno o varios procesadores, est muy bien entendido. Sin embargo la proliferacin de estaciones de trabajo personales y redes de rea local ha llevado al desarrollo de nuevos conceptos del sistema operativo, a saber sobre, sistemas operativos en red y sistemas operativos distribuidos. En un Sistema Operativo de Red las computadoras estn interconectadas por medios de comunicacin: software y hardware. En este tipo de red los usuarios saben dnde estn ejecutando su trabajo y guardando su informacin. En cambio en los Sistemas Operativos Distribuidos existe un software que distribuye las tareas de los usuarios sobre una red de computadoras y para los usuarios es transparente donde realizan sus tareas y guardan su informacin. Existen dos esquemas bsicos de stos sistemas. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema dbilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local.

Definicin y concepto de Sistema Distribuido.


Un sistema distribuido es aquel en el que los componentes localizados en computadores, conectados en red, comunican y coordinan sus acciones nicamente mediante el paso de mensajes. Es un sistema de informacin en el cual las funciones se reparten por reas de trabajo diferentes que trabajan de forma coordinada para asumir los objetivos que la organizacin asigna a ese sistema de informacin. Esta definicin no obliga a que los servicios sean internos ni fabricados por la propia organizacin. Algunos ejemplos de sistemas distribuidos son:

Una red de estaciones de trabajo en un departamento de una universidad o compaa, donde adems de cada estacin personal, podra existir una pila de procesadores en el cuarto de mquinas, que no estn asignados a usuarios especficos sino que se utilicen de manera dinmica cuando sea necesario.

Una fbrica de robots, donde los robots actan como dispositivos perifricos unidos a la misma computadora central. Un banco con muchas sucursales por el mundo, cada oficina tiene una computadora maestra para guardar las cuentas locales y el manejo de las transacciones locales, la cul se puede comunicar con cualquier computadora de la red. Las transacciones hechas se realizan sin importar dnde se encuentre la cuenta o el cliente.

Los sistemas distribuidos que se diseen y construyan deben estar alineados con los objetivos de negocio de la empresa, aumentar la eficacia y eficiencia operacional de la compaa y permitir el mayor rendimiento con el menor coste en las estructuras informticas que dan soporte.

Definicin y concepto de Middleware.


El trmino middleware se discute en [Lewandosky 1998]. El software distribuido requerido para facilitar las interacciones cliente-servidor se denomina middleware. El acceso transparente a servicios y recursos no locales distribuidos a travs de una red se provee a travs del middleware, que sirve como marco para las comunicaciones entre las porciones cliente y servidor de un sistema. El middleware define: el API que usan los clientes para pedir un servicio a un servidor, la transmisin fsica de la peticin va red, y la devolucin de resultados desde el servidor al cliente. Ejemplos de middleware estndar para dominios especficos incluyen: ODBC, para bases de datos, Lotus para groupware, HTTP y SSL para Internet y CORBA, DCOM y JAVA RMI para objetos distribuidos. El middleware fundamental o genrico es la base de los sistemas clienteservidor. Los servicios de autentificacin en red, llamadas a procedimiento remoto, sistemas de ficheros distribuidos y servicios de tiempo en red se consideran parte del middleware genrico. Este tipo de middleware empieza a ser parte estndar de los sistemas operativos modernos como Windows NT. En sistemas donde no se disponga deber recurrirse a middlware del tipo OSD DCE (Distributed Computing Environment) [OSF 1994]. El middleware especfico para un dominio complementa al middlware genrico de cara a aplicaciones mucho mas especificas. El protocolo de comunicaciones mas usado por el middlware, tanto genrico como especifico, es TCP/IP. Esto se debe a su amplia difusin en todos los sistemas operativos del mercado y en especial en los ordenadores personales.

Diferencia con las Redes de Computadoras.


La diferencia fundamental entre un sistema en red y uno distribuido se puede explicar a travs del anlisis de la localizacin del mdulo de comunicaciones entre procesos. Un sistema en red tpico es una coleccin de sistemas operativos locales, acompaado de servidores de impresin y de archivos, conectados por medio de una red. Los usuarios estn enterados de la multiplicidad de mquinas y para el acceso a los recursos necesitan conectarse a la mquina remota o transferir datos de la mquina remota a la propia. Podemos decir que todos los sistemas en red se ejecutan como funciones locales autnomas a la administracin de dispositivos, de procesos, de entradas y salidas, de archivos y recursos en general. Estas funciones deben interactuar, pero tomando decisiones locales sin tener en cuenta procesos y recursos remotos. Las decisiones y el control orientado a operaciones remotas, son tomadas solo a nivel de la comunicacin de la red. Por otro lado podemos decir que un sistema distribuido es solo un sistema expandido en toda la red, pero visto como un solo sistema para todos los elementos que existen en la red. Los usuarios no necesitan saber de la multiplicidad de mquinas y pueden acceder a los recursos remotos de la misma manera que lo hacen para los recursos locales. La tolerancia a fallas es ms alta, pero tambin podemos decir que el control y las decisiones son tomadas globalmente, los recursos conectados a la red son administrados de una forma global usando mecanismos distribuidos en lugar de mecanismos locales.

Caractersticas de los Sistemas Distribuidos


Comparticin de Recursos
El trmino 'recurso' es bastante abstracto, pero es el que mejor caracteriza el abanico de entidades que pueden compartirse en un sistema distribuido. El abanico se extiende desde componentes hardware como discos e impresoras hasta elementos software como ficheros, ventanas, bases de datos y otros objetos de datos. La idea de comparticin de recursos no es nueva ni aparece en el marco de los sistemas distribuidos. Los sistemas multiusuario clsicos desde siempre han provisto comparticin de recursos entre sus usuarios. Sin embargo, los recursos de una computadora multiusuario se comparten de manera natural entre todos sus usuarios. Por el contrario, los usuarios de estaciones de trabajo monousuario o

computadoras personales dentro de un sistema distribuido no obtienen automticamente los beneficios de la comparticin de recursos. Los recursos en un sistema distribuido estn fsicamente encapsulados en una de las computadoras y slo pueden ser accedidos por otras computadoras mediante las comunicaciones (la red). Para que la comparticin de recursos sea efectiva, sta debe ser manejada por un programa que ofrezca un interfaz de comunicacin permitiendo que el recurso sea accedido, manipulado y actualizado de una manera fiable y consistente. Surge el trmino genrico de gestor de recursos. Un gestor de recursos es un mdulo software que maneja un conjunto de recursos de un tipo en particular. Cada tipo de recurso requiere algunas polticas y mtodos especficos junto con requisitos comunes para todos ellos. stos incluyen la provisin de un esquema de nombres para cada clase de recurso, permitir que los recursos individuales sean accedidos desde cualquier localizacin; la traslacin de nombre de recurso a direcciones de comunicacin y la coordinacin de los accesos concurrentes que cambian el estado de los recursos compartidos para mantener la consistencia. Un sistema distribuido puede verse de manera abstracta como un conjunto de gestores de recursos y un conjunto de programas que usan los recursos. Los usuarios de los recursos se comunican con los gestores de los recursos para acceder a los recursos compartidos del sistema. Esta perspectiva nos lleva a dos modelos de sistemas distribuidos: el modelo cliente-servidor y el modelo basado en objetos.

Concurrencia
Cuando existen varios procesos en una nica maquina decimos que se estn ejecutando concurrentemente. Si el ordenador esta equipado con un nico procesador central, la concurrencia tiene lugar entrelazando la ejecucin de los distintos procesos. Si la computadora tiene N procesadores, entonces se pueden estar ejecutando estrictamente a la vez hasta N procesos. En los sistemas distribuidos hay muchas maquinas, cada una con uno o mas procesadores centrales. Es decir, si hay M ordenadores en un sistema distribuido con un procesador central cada una entonces hasta M procesos estar ejecutndose en paralelo. En un sistema distribuido que est basado en el modelo de comparticin de recursos, la posibilidad de ejecucin paralela ocurre por dos razones: 1. Muchos usuarios interactan simultneamente con programas de aplicacin.

2. Muchos procesos servidores se ejecutan concurrentemente, cada uno respondiendo a diferentes peticiones de los procesos clientes. El caso (1) es menos conflictivo, ya que normalmente las aplicaciones de interaccin se ejecutan aisladamente en la estacin de trabajo del usuario y no entran en conflicto con las aplicaciones ejecutadas en las estaciones de trabajo de otros usuarios. El caso (2) surge debido a la existencia de uno o mas procesos servidores para cada tipo de recurso. Estos procesos se ejecutan en distintas maquinas, de manera que se estn ejecutando en paralelo diversos servidores, junto con diversos programas de aplicacin. Las peticiones para acceder a los recursos de un servidor dado pueden ser encoladas en el servidor y ser procesadas secuencialmente o bien pueden ser procesadas varias concurrentemente por mltiples instancias del proceso gestor de recursos. Cuando esto ocurre los procesos servidores deben sincronizar sus acciones para asegurarse de que no existen conflictos. La sincronizacin debe ser cuidadosamente planeada para asegurar que no se pierden los beneficios de la concurrencia.

Apertura (opennesss)
Un sistema informtico es abierto si el sistema puede ser extendido de diversas maneras. Un sistema puede ser abierto o cerrado con respecto a extensiones hardware (aadir perifricos, memoria o interfaces de comunicacin, etc.) o con respecto a las extensiones software ( aadir caractersticas al sistema operativo, protocolos de comunicacin y servicios de comparticin de recursos, etc... ). La apertura de los sistemas distribuidos se determina primariamente por el grado hacia el que nuevos servicios de comparticin de recursos se pueden aadir sin perjudicar ni duplicar a los ya existentes. Bsicamente los sistemas distribuidos cumplen una serie de caractersticas: 1. Los interfaces software clave del sistema estn claramente especificados y se ponen a disposicin de los desarrolladores. En una palabra, los interfaces se hacen pblicos. 2. Los sistemas distribuidos abiertos se basan en la provisin de un mecanismo uniforme de comunicacin entre procesos e interfaces publicados para acceder a recursos compartidos. 3. Los sistemas distribuidos abiertos pueden construirse a partir de hardware y software heterogneo, posiblemente proveniente de vendedores diferentes. Pero la conformidad de cada componente con el estndar publicado debe ser cuidadosamente comprobada y certificada si se quiere evitar tener problemas de integracin.

Escalabilidad
Los sistemas distribuidos operan de manera efectiva y eficiente a muchas escalas diferentes. La escala ms pequea consiste en dos estaciones de trabajo y un servidor de ficheros, mientras que un sistema distribuido construido alrededor de una red de rea local simple podra contener varios cientos de estaciones de trabajo, varios servidores de ficheros, servidores de impresin y otros servidores de propsito especfico. A menudo se conectan varias redes de rea local para formar internetworks, y stas podran contener muchos miles de ordenadores que forman un nico sistema distribuido, permitiendo que los recursos sean compartidos entre todos ellos. Tanto el software de sistema como el de aplicacin no deberan cambiar cuando la escala del sistema se incrementa. La necesidad de escalabilidad no es solo un problema de prestaciones de red o de hardware, sino que esta ntimamente ligada con todos los aspectos del diseo de los sistemas distribuidos. El diseo del sistema debe reconocer explcitamente la necesidad de escalabilidad o de lo contrario aparecern serias limitaciones. La demanda de escalabilidad en los sistemas distribuidos ha conducido a una filosofa de diseo en que cualquier recurso simple -hardware o softwarepuede extenderse para proporcionar servicio a tantos usuarios como se quiera. Esto es, si la demanda de un recurso crece, debera ser posible extender el sistema para darla servicio,. Por ejemplo, la frecuencia con la que se accede a los ficheros crece cuando se incrementa el nmero de usuarios y estaciones de trabajo en un sistema distribuido. Entonces, debe ser posible aadir ordenadores servidores para evitar el cuello de botella que se producira si un solo servidor de ficheros tuviera que manejar todas las peticiones de acceso a los ficheros. En este caso el sistema deber estar diseado de manera que permita trabajar con ficheros replicados en distintos servidores, con las consideraciones de consistencias que ello conlleva. Cuando el tamao y complejidad de las redes de ordenadores crece, es un objetivo primordial disear software de sistema distribuido que seguir siendo eficiente y til con esas nuevas configuraciones de la red. Resumiendo, el trabajo necesario para procesar una peticin simple para acceder a un recurso compartido debera ser prcticamente independiente del tamao de la red. Las tcnicas necesarias para conseguir estos objetivos incluyen el uso de datos replicados, la tcnica asociada de caching, y el uso de mltiples servidores para manejar ciertas tareas, aprovechando la concurrencia para permitir una mayor productividad.

Transparencia
La transparencia se define como la ocultacin al usuario y al programador de aplicaciones de la separacin de los componentes de un sistema distribuido, de manera que el sistema se percibe como un todo, en vez de una coleccin de componentes independientes. La transparencia ejerce una gran influencia en el diseo del software de sistema. El manual de referencia RM-ODP [ISO 1996a] identifica ocho formas de transparencia. Estas proveen un resumen til de la motivacin y metas de los sistemas distribuidos. Las transparencias definidas son:
Transparencia de Acceso: Permite el acceso a los objetos de

informacin remotos de la misma forma que a los objetos de informacin locales. Transparencia de Localizacin: Permite el acceso a los objetos de informacin sin conocimiento de su localizacin Transparencia de Concurrencia: Permite que varios procesos operen concurrentemente utilizando objetos de informacin compartidos y de forma que no exista interferencia entre ellos. Transparencia de Replicacin: Permite utilizar mltiples instancias de los objetos de informacin para incrementar la fiabilidad y las prestaciones sin que los usuarios o los programas de aplicacin tengan por que conoces la existencia de las replicas. Transparencia de Fallos: Permite a los usuarios y programas de aplicacin completar sus tareas a pesar de la ocurrencia de fallos en el hardware o en el software. Transparencia de Migracin: Permite el movimiento de objetos de informacin dentro de un sistema sin afectar a los usuarios o a los programas de aplicacin. Transparencia de Prestaciones: Permite que el sistema sea reconfigurado para mejorar las prestaciones mientras la carga varia. Transparencia de Escalado: Permite la expansin del sistema y de las aplicaciones sin cambiar la estructura del sistema o los algoritmos de la aplicacin. Las dos ms importantes son las transparencias de acceso y de localizacin; su presencia o ausencia afecta fuertemente a la utilizacin de los recursos distribuidos. A menudo se las denomina a ambas transparencias de red. La transparencia de red provee un grado similar de anonimato en los recursos al que se encuentra en los sistemas centralizados.

Tolerancia a Fallos
Los sistemas informticos a veces fallan. Cuando se producen fallos en el software o en el hardware, los programas podran producir resultados incorrectos o podran pararse antes de terminar la computacin que estaban realizando. El diseo de sistemas tolerantes a fallos se basa en dos cuestiones, complementarias entre s: Redundancia hardware (uso de componentes redundantes) y recuperacin del software (diseo de programas que sean capaces de recuperarse de los fallos). En los sistemas distribuidos la redundancia puede plantearse en un grano mas fino que el hardware, pueden replicarse los servidores individuales que son esenciales para la operacin continuada de aplicaciones criticas. La recuperacin del software tiene relacin con el diseo de software que sea capaz de recuperar (roll-back) el estado de los datos permanentes antes de que se produjera el fallo. Los sistemas distribuidos tambin proveen un alto grado de disponibilidad en la vertiente de fallos hardware. La disponibilidad de un sistema es una medida de la proporcin de tiempo que esta disponible para su uso. Un fallo simple en una maquina multiusuario resulta en la no disponibilidad del sistema para todos los usuarios. Cuando uno de los componentes de un sistema distribuidos falla, solo se ve afectado el trabajo que estaba realizando el componente averiado. Un usuario podra desplazarse a otra estacin de trabajo; un proceso servidor podra ejecutarse en otra maquina.

Arquitectura de los Sistemas Distribuidos.


Modelo Cliente-Servidor. Cliente: Proceso que requiere acceder a datos, usar recursos o realizar operaciones en un ordenador diferente. Servidor: Proceso que administra datos o cualquier otro tipo de recursos y que es capaz de hacerlos disponibles a otros procesos que estn en otros ordenadores. Interaccin Enviar peticin / recibir resultado

10

Clientes ligeros/Clientes pesados Ejemplos X-Windows: Cliente pide representacin / servidor realiza representacin Servidor http: Cliente pide pgina / servidor enva pgina.

Cliente-servidor: Paso de Mensajes Los modelos de comunicacin basados en cliente-servidor con paso de mensajes responden al esqueleto:

11

Paso de Mensajes
Cada pareja send-receive transmite un mensaje entre cliente y servidor. Por lo general de forma asncrona.

Habitualmente: Send no bloqueante Receive bloqueante (puede hacerse no bloqueante)

Los mensajes intercambiados pueden ser: Mensajes de texto (Http) Mensajes con formato (binarios)

12

13

Procesamiento Distribuido.
Procesamiento distribuido basado en entrada y salida.
Comunicarse con un proceso remoto es similar a leer o escribir a un archivo La biblioteca de sockets usa este modelo Enviar y recibir mensajes es realmente Entrada/Salida Es un enfoque de nivel relativamente bajo

Procesamiento distribuido basado en llamadas a procedimientos remotos.


Comunicarse con un proceso remoto es similar a invocar un procedimiento El procedimiento invocado no reside en el proceso que invoca sino en otro proceso (posiblemente en otra mquina) Los procedimientos reciben parmetros y devuelven resultados Es un enfoque de nivel ms alto que el orientado a entrada/salida

14

Los detalles de enviar y recibir mensajes quedan ocultos al programador

Procesamiento distribuido basado en objetos distribuidos.


Comunicarse con un proceso remoto es similar a invocar un mtodo de un objeto El objeto al cual se hace la solicitud no reside en el proceso que invoca el mtodo sino en otro proceso (posiblemente en otra mquina) Los mtodos en POO reciben parmetros y devuelven resultados Es un enfoque de nivel ms alto que los anteriores Los detalles de enviar y recibir mensajes quedan ocultos al programador

Procesamiento distribuido basado en memoria compartida


Comunicarse con un proceso consiste en leer y escribir datos de una memoria comn El sistema de comunicacin subyacente se encarga de duplicar el bloque de memoria comn en las diferentes computadoras que forman parte del sistema

15

CONCLUSIONES

Como hemos podido ver, con este trabajo, podemos ampliar nuestra visin de lo que trata la comunicacin de datos, a travez de los sistemas distribuidos no es simplemente, enviar dato y recibirlos a travez de un sistema distribuido, si no los pasos a desarrollar o implementar, para que esta informacin llegue como se enva, sin que sufra alteraciones en el proceso de transferencia por los medios que sean.

El hecho de pensar en enviar una informacin, ya no ser tan sencillo como antes de realizar este trabajo, con un simple clic y poder enviar miles de archivos, conteniendo esta informacin, si no ahora nos pondremos a pensar, detalladamente si nuestra informacin no sufrir algn cambio y si la persona que reciba esta informacin la podr ver o escuchar de las misma forma que nosotros.

16

REFERENCIAS BIBLIOGRAFICAS
http://eisc.univalle.edu.co/materias/Fundamentos_Sistemas_Distribuidos/material/SESIONII.pdf http://www.essi.upc.edu/~gomariz/index_archivos/IntroduccionSDEnricMartinez.pdf http://www.dea.icai.upco.es/jarm/Asignaturas/Doc_SistemasDistribuidos/3SDArquitectura.pdf http://sistemas.itlp.edu.mx/tutoriales/sistsdist1/index.htm http://ditec.um.es/ssdd/ssdd.pdf http://www.sc.ehu.es/acwlaalm/sdi/introduccionslides.pdf http://www.augcyl.org/?q=glolintrosistemasdistribuidos http://www.dei.uc.edu.py/tai2002/SD/discom.htm http://sistemadistribuido.blogspot.com/2009/04/definiciondesistemasdistribuidos.html

17

Вам также может понравиться