sistemas distribuidos

24
FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS

Upload: carmencitaovi

Post on 16-Dec-2015

213 views

Category:

Documents


0 download

DESCRIPTION

Los sistemas distribuidos tienen más de dos décadas de haber surgido pero son tan complicados en su construcción tanto como una red de transporte público como el metro, y pasará más tiempo para que podamos entenderlos correctamente y construir uno de la manera más apropiada

TRANSCRIPT

Sistemas Distribuidos-----------------------------------------------------------------------------------------------------------------------------------

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS

NDICE1. CARACTERSTICAS DE UN SISTEMA DISTRIBUIDO1a) Concurrencia.-1b) Carencia de reloj global.-1c) Fallos independientes de los componentes.-1d) Separacin funcional.-1e) Distribucin inherente.-1F) Heterogeneidad.-12. OBJETIVOS DE LOS SISTEMAS DISTRIBUIDOS23. VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS33.1. Ventajas con respecto a Sistemas Centralizados:33.2. Ventajas con respecto a PCs Independientes:34. DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOS44.1. Software:44.2. Redes:44.3. Seguridad:45. COMPLEJIDAD DE LOS SISTEMAS DISTRIBUIDOS55.1. Sistemas fuertemente acoplados65.2. Sistemas dbilmente acoplados66. TCNICAS DE CONSTRUCCIN76.1Transparencia76.2. Confiabilidad76.3. Escalabilidad76.4. Flexibilidad86.5. Desempeo86.6. Intercambiabilidad86.7. Portabilidad96.8. Interoperabilidad97. REQUERIMIENTOS DE APLICACIN98. ARQUITECTURA BSICA108.1. Multiprocesadores con base en buses108.2. Multiprocesador con conmutador.118.3. Multicomputadoras con base en buses.119. SISTEMAS OPERATIVOS DISTRIBUIDOS119.1. Sprite:129.2. Chorus:139.3. Amoeba:139.4. Solaris-MC14BIBLIOGRAFA:15PAGINAS WEB CONSULTADAS:15

NDICE DE TABLAS

TABLA 1.VENTAJAS DE LOS SD SOBRE LOS CENTRALIZADOS3TABLA 2.VENTAJAS DE LOS SD SOBRE COMPUTADORAS AISLADAS3TABLA 3.DESVENTAJAS DE LOS SD.4

NDICE DE FIGURAS

ILUSTRACIN 1.SISTEMA SPRITE12ILUSTRACIN 2.SISTEMA AMOEBA13

Sistemas Distribuidos-----------------------------------------------------------------------------------------------------------------------------------

ndice | i

FUNDAMENTOS DE SISTEMAS DISTRIBUIDOS1. CARACTERSTICAS DE UN SISTEMA DISTRIBUIDOa) Concurrencia.- Esta caracterstica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultneamente por los usuarios y/o agentes que interactan en la red.b) Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realizacin de una tarea, no tienen una temporizacin general, est ms bien distribuida en los componentes.c) Fallos independientes de los componentes.- Cada componente del sistema pudiera fallar de manera independientemente, y los dems continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.d) Separacin funcional.- Las funciones se reparten entre diferentes entidadese) Distribucin inherente.- Evidentemente, los recursos se comparten de manera remota, adems las tareas se realizan sin que el usuario sea consciente de qu recursos se utilizan ni dnde estn localizadosf) Heterogeneidad.- Diversidad de dispositivos, aplicaciones, sistemas operativos, lenguajes de programacin, etc.Sin embargo otros autores sealan las siguientes caractersticas de un sistema distribuido:-Las mquinas son autnomas.-Las mquinas estn unidas a una red de computadoras.-Proveen facilidades de cmputo, son tan flexibles y ampliamente aplicables como las computadoras convencionales, centralizadas o mainframes.-Un sistema distribuido da la impresin que se esta usando una computadora integrada de una forma sencilla.-La instalacin de un sistema distribuido esta dada de ms de una computadora y ellas se pueden encontrar en diferentes localizaciones.-Cada computadora tiene la capacidad de comunicarse con otras dentro del sistema.-En un sistema distribuido los usuarios pueden acceder a recursos remotos del mismo modo como lo hacen a los recursos locales.2. OBJETIVOS DE LOS SISTEMAS DISTRIBUIDOSEl objetivo primordial de un sistema distribuido consiste en proporcionar a los usuarios un entorno de utilizacin de un nico sistema donde no se perciban la existencia de mltiples sistemas. Otros objetivos de los sistemas distribuidos son: Compartir informacin y otros recursos. Economizar el rendimiento (procesamiento y almacenamiento). Crecimiento incremental. Alta disponibilidad Confiabilidad (tolerancia a fallos)3. VENTAJAS DE LOS SISTEMAS DISTRIBUIDOS3.1. Ventajas con respecto a Sistemas Centralizados:Algunas ventajas de los sistemas distribuidos sobre los centralizados son: ElementoDescripcin

EconomaLos microprocesadores ofrecen mejor proporcin precio/rendimiento que los mainframes

VelocidadUn sistema distribuido puede tener mayor poder de cmputo que un mainframe

Distribucin inherenteAlgunas aplicaciones utilizan maquinas que estn separadas a cierta distancia

ConfiabilidadSi una mquina se descompone, el sistema puede sobrevivir como un todo

Crecimiento por incrementosSe puede aadir poder de cmputo en pequeos incrementos

Tabla 1.Ventajass de los SD sobre los centralizadosFuente: www.geocities.ws

3.2. Ventajas con respecto a PCs Independientes:Algunas ventajas de los sistemas distribuidos sobre las computadoras aisladas son:ElementoDescripcin

Datos compartidosPermiten que varios usuarios tengan acceso a una base de datos comn

Dispositivos compartidosPermiten que varios usuarios compartan perifricos caros, como las impresoras de color

ComunicacinFacilita la comunicacin de persona a persona; por ejemplo mediante el correo electrnico

FlexibilidadDifunde la carga de trabajo entre las mquinas disponibles en la forma ms eficaz en cuanto a los costos.

Tabla 2.Ventajas de los SD sobre computadoras aisladasFuente: www.geocities.ws4. DESVENTAJAS DE LOS SISTEMAS DISTRIBUIDOSAlgunas desventajas de los sistemas distribuidos son: ElementoDescripcin

SoftwareExiste poco software para los sistemas distribuidos

RedesLa red se puede saturar o causar otros problemas

SeguridadUn acceso sencillo tambin se aplica a datos secretos

Tabla 3.Desventajas de los SD.Fuente: www.geocities.ws

4.1. Software: Es una de las principales desventajas de los sistemas distribuidos. Existe poco software para los sistemas distribuidos en la actualidad en razn del diseo, implantacin y uso. Estos problemas estn relacionados con el uso de sistema operativo, lenguajes de programacin y aplicaciones, as como del nivel de conocimiento por parte del usuario y la certeza de saber qu tanto debe hacer el sistema y qu tanto deben hacer los usuarios. Mientras mas se realice investigacin, este problema disminuir, pero por el momento no puede subestimarse.4.2. Redes: La red se puede saturar o causar otros problemas como prdida y saturacin de mensajes, costo de instalacin de tendidos de cable o dispositivos inalmbricos e interfaces de red.4.3. Seguridad: Un acceso sencillo tambin se aplica a los datos secretos. Se recomienda que la computadora principal est aislada contra accesos no permitidos, as como contemplar polticas de acceso a los sistemas, el cual debe estar presente en el sistema distribuido o es un software aparte que apoya al sistema distribuido.5. COMPLEJIDAD DE LOS SISTEMAS DISTRIBUIDOSLos sistemas distribuidos tienen ms de dos dcadas de haber surgido pero son tan complicados en su construccin tanto como una red de transporte pblico como el metro, y pasar ms tiempo para que podamos entenderlos correctamente y construir uno de la manera ms apropiada La fuente bsica de la complejidad de los SD recae en la interconexin de componentes. Existen fallas en todos los sistemas, slo que en un SD resultan ms visibles. A continuacin se muestran algunos problemas del sistema. Al interconectar dos o ms elementos entre si, sus funcionalidades se interfieren. Pueden existir tambin fallas de propagacin. Se pueden tener fallas por el tamao del sistema. Las aplicaciones "distribuidas" deben estar preparadas para soportar fallas parciales; lo que representa una complejidad adicional en el diseo de stas aplicaciones. Se deben tener mecanismos para la localizacin de recursos, la recuperacin de stos, as como la coordinacin de las rplicas de los estados de los servidores. No se tiene disponibilidad de una memoria global y un reloj global, no se pueden predecir los retardos y mensajes. Se requiere ms capacidad de almacenamiento. Se requiere de sincronizacin para actualizar el estado del sistema. Compatibilidad. Los recursos compartidos deben ser accedidos por un proceso a la vez (exclusin mutua) y deben liberarse. Seriabilizacin. Los procesos deben solicitar recursos locales o remotos y posteriormente liberados en cualquier orden que puede ser no conocido.5.1. Sistemas fuertemente acopladosEstos sistemas son llamados as porque realizan la hazaa de mltiple procesamiento de unidades, a menudo participa la memoria simple o espacio de direcciones para llevar acabo un alto desempeo en un sistema de computo que esta de otra manera centralizado.En un sistema fuertemente acoplado, el retraso que se experimenta al enviar un mensaje de una computadora a otra es corto o pequeo y tambin la tasa de transmisin de los datos, esto quiere decir que el nmero de bits por segundo que se pueden transmitir, es alta. Los sistemas fuertemente acoplados tienden a utilizarse ms como sistemas paralelos para trabajar con un solo problema.5.2. Sistemas dbilmente acopladosLos sistemas dbilmente acoplados son particularmente efectivos en poder y flexibilidad en una simple computadora o una estacin de trabajo, permitiendo el acceso a los datos compartidos y recursos localizados en otros servidores va una red local de alta velocidad.En un sistema dbilmente acoplado el retraso que se experimenta al enviar los mensajes entre las mquinas es grande y la tasa de transmisin de los datos es baja. Los sistemas dbilmente acoplados tienden a utilizarse como sistemas distribuidos para trabajar con varios problemas no relacionados entre si, aunque no siempre es as.En general, los multiprocesadores tienden a estar ms fuertemente acoplados que las multicomputadoras, puesto que pueden intercambiar a la velocidad de sus memorias, pero algunas multicomputadoras basadas en fibra ptica pueden funcionar tambin con velocidad de memoria. A pesar de lo vago6. TCNICAS DE CONSTRUCCIN6.1TransparenciaLograr que el sistema se vea como un todo. Los usuarios deben poder acceder los objetos remotos de la misma forma que los locales. Es responsabilidad del sistema de gestin de base de datos distribuida localizar el recurso y obtener la interaccin adecuada.6.2. ConfiabilidadLa confiabilidad tiene que ver con la consistencia de los datos. Si un archivo importante se replica, hay que asegurarse que las rplicas se mantengan consistentes; mientras ms haya, ms caro es mantenerlas, y ms probable es que haya inconsistencias. La seguridad es tambin un aspecto fundamental de la confiabilidad.6.3. EscalabilidadEl objetivo de la escalabilidad es garantizar que un sistema funcione independientemente del nmero de computadoras conectadas. Un principio bsico en el diseo de sistemas escalables es que la carga de trabajo de cualquier componente del sistema debe estar acotada por una constante independiente del tamao del sistema. Si no es as, entonces el crecimiento del sistema estar limitado. En consecuencia, todo lo que huela a centralizacin a la larga constituir un freno a la escalabilidad.6.4. FlexibilidadLa flexibilidad representa facilidades para cambios posteriores al diseo (retroalimentacin). Los sistemas distribuidos son nuevos; es importante, por ende, que se puedan adaptar a nuevas tecnologas y a nuevos avances en el tema.6.5. DesempeoLas caractersticas del desempeo en los sistemas distribuidos se pueden resumir en lo siguiente: Minimizar el tiempo de respuesta. Maximizar el rendimiento en razn del nmero de trabajos efectuados en un tiempo determinado. Minimizar el uso de recursos del sistema (CPU, memoria, archivos, entrada/salida, red, etc.). Minimizar la cantidad de mensajes enviados en la red. En este caso intervienen tcnicas de inteligencia artificial.Cabe mencionar que los diseadores de sistemas distribuidos deben tratar de nivelar o equilibrar el desempeo contra la confiabilidad.6.6. IntercambiabilidadCapacidad de poder cambiar cualquier componente del sistema sin afectar a sus dems miembros, basado en el principio que consiste en disear los diferentes elementos de un sistemas distribuido con una tolerancia tan estrecha que cualquier elemento pueda ajustarse a cualquier otro elemento conjugado.6.7. PortabilidadCapacidad de funcionalidad de los sistemas computacionales en cualquier arquitectura de hardware, refirindose a que un programa escrito para una determinada arquitectura se puede compilar y ejecutar en otra arquitectura sin modificacin alguna.Los sistemas distribuidos deben tener un nivel adecuado de portabilidad (los programas pueden ser compilados y ejecutados en diferentes arquitecturas sin tener que realizar modificaciones), al tiempo que hace que las aplicaciones sean interoperativas.Otra caracterstica deseable del software con respecto a portabilidad es el tamao pequeo de los programas. En efecto, si es necesario posteriormente modificar un programa, es mejor hacerlo en un programa pequeo -que en ltima instancia puede rescribirse- que en uno grande. Esto reafirma la deseabilidad de programar mdulos pequeos.6.8. InteroperabilidadCapacidad que consiste en que varios sistemas distribuidos pueden interactuar y trabajar juntos en la solucin de un problema. Es importante notar que para que los sistemas distribuidos cumplan con las normas o estndares internacionales, la portabilidad, apertura e interoperabilidad debern interactuar de manera correcta.7. REQUERIMIENTOS DE APLICACIN-Como primer punto debe existir un mecanismo de comunicacin global entre los procesos, de forma que cualquier proceso pueda comunicarse con cualquier otro.-La administracin de procesos tambin debe ser la misma en todas partes. La forma en que se crean, destruyen, inician y detienen los procesos no debe variar de una mquina a otra.-Cualquier mquina puede hacer lo que quiera mientras obedezca los protocolos estndar cuando participe en una comunicacin cliente servidor.-Las llamadas al sistema deben ser diseadas de manera que tengan sentido en un ambiente distribuido.-Tambin el sistema de archivos debe tener la misma apariencia en todas partes. Adems, todo archivo debe ser visible desde cualquier posicin, sujeto, por supuesto, a restricciones de proteccin y seguridad.-El hecho de tener la misma interfaz de llamadas al sistema en todas partes, entonces se ejecutan ncleos idnticos en todos los CPU del sistema. Esto facilita la coordinacin de actividades globales. Por ejemplo, cuando se inicie un proceso, todos lo ncleos debe cooperar en la bsqueda del mejor lugar para ejecutarlo.-Cada ncleo debe tener un control considerable sobre sus propios recursos locales. Por ejemplo, puesto que no existe memoria compartida, es lgico permitir que cada ncleo controle su memoria.8. ARQUITECTURA BSICA8.1. Multiprocesadores con base en busesLos multiprocesadores con base en buses constan de cierta cantidad de CPU, conectados a un bus comn, junto con un mdulo de memoria. Una configuracin sencilla consta de un plano de base (backplane) de alta velocidad o tarjeta madre, en el cual se pueden insertar las tarjetas de memoria y el CPU. Un bus tpico tiene 32 o 64 lneas de direcciones, 32 o 64 lneas de datos y 32 o ms lneas de control, todo lo cual opera en paralelo. Para leer una palabra de memoria, un CPU coloca la direccin de la palabra deseada en las lneas de direcciones del bus y coloca una sealen las lneas de control adecuadas para indicar que desea leer. La memoria responde y coloca el valor de la palabra en las lneas de datos para permitir la lectura de sta por parte del CPU solicitante. La escritura funciona de manera similar.8.2. Multiprocesador con conmutador.Para construir un multiprocesador con ms de 64 procesadores, es necesario un mtodo distinto para conectar cada CPU con la memoria. Una posibilidad es dividir la memoria en mdulos para conectarlos a las CPU con un conmutador de cruceta, como se muestra en la figura (a). Cada CPU y cada memoria tiene una conexin que sale de l, como se muestra.8.3. Multicomputadoras con base en buses.La construccin de una multicomputadora, es decir, sin memoria compartida es fcil. Cada CPU tiene conexin directa con su propia memoria local. El nico problema es la forma en que los CPU se comunicar entre s. Es claro que aqu tambin se necesita de cierto esquema de interconexin, pero como solo es para la comunicacin entre un CPU y otro, el volumen de trfico ser de varias rdenes menores en relacin con el uso de una red de interconexin para el trfico CPU- memoria.Este esquema es muy similar, desde el punto de vista topolgico, al procesador basado en un bus, pero como tendr menor trfico, no necesita ser un bus con un plano de base de alta velocidad. De hacho puede ser una LAN de menor velocidad. Es ms a menudo una coleccin de estaciones de trabajo en una LAN que una coleccin de tarjetas de CPU que se insertan en un bus rpido.9. SISTEMAS OPERATIVOS DISTRIBUIDOSLos sistemas operativos distribuidos desempean las mismas funciones que un sistema operativo normal, pero con la diferencia de trabajar en un entorno distribuido. Su Misin principal consiste en facilitar el acceso y la gestin de los recursos distribuidos en la red.En un sistema operativo distribuido los usuarios pueden acceder a recursos remotos de la misma manera en que lo hacen para los recursos locales. Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores est en un equipo o en diferentes, lo cual es transparente para el usuario. Los sistemas distribuidos deben de ser muy confiables y estables ya que si un componente del sistema se descompone otro componente debe de ser capaz de remplazarlo inmediatamente y no afectar los procesos del sistema.Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Mach, Chorus, Spring, Amoeba, Solaris-MC, Taos, etc.9.1. Sprite:Es un sistema operativo distribuido con un ncleo monoltico. Este sistema operativo tiene la apariencia para los programadores de un sistema nico, ya que la distribucin se produce dentro del propio ncleo y de este modo, Sprite nos da la impresin de estar trabajando sobre un tpico sistema UNIX.Un sistema Amoeba esta conformado por una pila de procesadores, servidores especializados, y terminales grficas.

Ilustracin 1.Sistema SpriteFuente: www.freewebs.com

9.2. Chorus:El sistema operativo Chorus es un sistema operativo altamente escalable y de implementacin confiable, tanto as que se ha establecido entre los proveedores superiores de Telecomunicaciones. El sistema operativo Chorus se utiliza en conmutadores pblicos, as como dentro del acceso a redes de trabajo, conmutadores de conexin cruzada, sistemas de correo de voz, estaciones celulares base, telfonos-web y telfonos celulares.9.3. Amoeba:Est escrito en C. Posee un lenguaje para el cmputo distribuido y paralelo llamado Orca. No tiene el concepto de mquina de origen.El Shell inicial se ejecuta en mquina arbitraria, pero los comandos tienen porqu ejecutarse en la misma mquina que el Shell.La arquitectura del sistema en Amoeba contempla una pila de procesadores, servidores especializados y terminales grficas. Una pila de procesadores tiene una interfaz de red y memoria RAM. Es posible configurar un conjunto de mquinas como una pila de procesadores.

Ilustracin 2.Sistema AmoebaFuente: www.freewebs.com

9.4. Solaris-MCSolaris MC es una extensin del ncleo de Solaris para operar en clster. ste sistema incorpora ideas procedentes de Spring, aunque mantiene la estructura de ncleo monoltico no adaptable que presenta UNIX.En pocas palabras, Solaris MC es un sistema distribuido que no puede considerarse como un sistema adaptable en realidad, aunque sea elegante y extremadamente flexible.

BIBLIOGRAFA:Tanenbaum Andrew S, Sistemas Operativos Distribuidos, Editorial Prenticf Hall Hispanoamericana S.A., Mxico, 1996.Almidn Ortiz, Carls Alcides, Concepto de la Teora de Sistemas, Universidad peruana Los Andes, Per.George Coulouris, Sistemas Distribuidos: Conceptos y Diseo, Editorial Addison Wesley, 2001.PAGINAS WEB CONSULTADAS:http://www.frm.utn.edu.ar/soperativos/Archivos/Sistemas_Distribuidos.pdfhttp://oposicionestic.blogspot.com/2011/06/sistemas-distribuidos.htmlhttp://www.tamps.cinvestav.mx/~vjsosa/sistemas_distribuidos_panorama.pdf

Pgina | 15