Sistemas Distribuidos

download Sistemas Distribuidos

of 51

description

sistemas distribuidos

Transcript of Sistemas Distribuidos

  • Sistemas operativos en ambientes distribuidosUnidad 1 TEMA: Caractersticas de los Sistemas DistribuidosIng. Efrain Padilla Valera

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicContenidoCuestiones Bsicas de Diseo. Historia y Definicin de sistemas distribuidos (SD)Ventajas y desventajas de los SDCaractersticas Claves de SDAplicaciones

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicBibliografaDistributed Systems: Concepts and DesignG. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001Distributed Operating SystemsA. S. TanenbaumPrentice-Hall, 1995Distributed Operating Systems: Concepts & PracticeD. L. GalliPrentice-Hall, 2000Distributed Operating Systems & AlgorithmsR. Chow, T. JohnsonAddison-Wesley, 1997

    Traducciones al EspaolSistemas Distribuidos: Conceptos y DiseoG. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001Sistemas Operativos DistribuidosA. S. TanenbaumPrentice-Hall, 1996

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicHistoria de los Sistemas DistribuidosDisminucin de costosComercio ElectronicoInformacin Distribuida (WWW)Decada1970Decada1980Decada1990Todo llevo aPorqu su Desarrollo?Redes de ComunicacinDe Alta VelocidadIngenera del SoftwareMicroelectrnicaContenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicDefinicin de Sistemas Distribuidos (SD)

    "Sistema en el cual mltiples procesadores autnomos, posiblemente de diferente tipo, estn interconectados por una subred de comunicacin para interactuar de una manera cooperativa en el logro de un objetivo global. [Lelann 1981].

    "Sistema en el cual componentes de hardware y software, localizadas en computadores en red, se comunican y coordinan sus acciones slo por paso de mensajes" [Coulouris 2002].

    "Conjunto de computadores independientes que se muestran al usuario comoun sistema nico coherente" [Tanenbaum 2001] .

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicDefinicion de Sistemas DistribuidosPropiedades bsicas:

    Mltiples procesadores (con memoria local)

    Interconexin (red de comunicacin)

    Estado compartido (para coordinacin global) Sntomas de un SD (Schroeder, 92)Adems, ...

    Fallas independientes

    Comunicacin no fiable

    Comunicacin insegura

    Comunicacin costosaContenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicVentajas de los SD

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicVentajas de los SD

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicDesventajas de los SDContenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicAplicaciones de Sistemas DistribuidosEntornos empresariales: redes corporativas e intranets: Sustituye a los clsicos mainframes. Entornos de computacin de alto rendimiento: Procesamiento paralelo, alternativa a costosos supercomputadores. Servicios con alta disponibilidad y rendimiento. Sistemas distribuidos de gestin de bases de datos Aplicaciones multimedia. Sistemas industriales distribuidos y aplicaciones de control. Internet: un enorme sistema distribuido.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 1.1 Una porcin tpica de Internet Computadores conectados interactan mediante paso de mensajes, empleando un medio comn de comunicacin. El diseo y la construccin de los mecanismos de comunicacin de Internet (protocolos Internet) es una tcnica fundamental, permitiendo un proceso en ejecucin dirija mensajes a procesos en cualquier parte.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFigura 1.2 Una Intranet tpica

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFigura 1.3 Dispositivos porttiles y de mano en un sistema distribuido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicNuevos Paradigmas de Sistemas DistribuidosCluster Computing: Dedicados a tareas especficas: Alto rendimiento. Alta disponibilidad. Sistema homogneo (a menudo dedicado): Nodos PCs. LAN (de propsito general o especficas). Problemtica: Grado de acoplamiento, servicios distribuidos. Grid Computing: Aprovechamiento de recursos creando un uniprocesador virtual. Restringido a una serie de tareas. Diferentes mbitos: Desde intradepartamentales. Hasta intercorporativos. Problemtica: Coordinacin, seguridad, carcter dinmico.Contenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicTransparencia Fiabilidad o Tratamiento de fallos RendimientoElasticidad.Seguridad.Comparticin de recursos.Apertura o flexibilidadSoporte a la concurrenciaSistemaDistribuidoObjetivos o Caractersticas de un Sistema Distribuido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicTransparencia y Tipos de TransparenciaTransparencia = ocultacin de la separacin- a los usuarios- y a los programadores de aplicaciones Provee la visin del sistema:- como un todo- y no como una coleccin de componentes independientesEs buena tanta transparencia? no siempre deseable: impresoras- A veces el usuario precisa conocer cmo es el sistema subyacente

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFiabilidad o Tratamiento de fallos En los sistemas distribuidos los fallos son parciales (algunos componentes fallan mientras otros siguen funcionando.

    Tcnicas para tratar fallos.Deteccin de fallos: (sumas de comprobacin checksums para detectar datos corruptos en un mensaje o en un archivo).Recuperacin frente a fallos: Implica que el diseo de software en el que tras una caida del servidor, el estado de los datos pueda reponerse o retractarse rollback a una situacin anterior.Redundancia: Puede lograrse que los servcios toleren fallos mediante el empleo redundante de componentes.Ejemplo:Siempre deber de haber al menos 2 rutas diferentes entre cualesquiera de 2 routers en InternetEn DNS, cada tabla de nombres se encuentra replicada en 2 servidores diferentesUna BD puede encontrarse replicada en varios servidores para asegurar que los datos siguen siendo accesibles tras el fallos de cualquier servidor concreto.

    Tolerancia Fallos: La mayora de los servicios en Internet exhiben fallos (sus: clientes pueden disearse para tolerar ciertos fallos, lo que implica que los usuarios tendrn que tolerarlos generalmente.Ejemplo: Navegador WEB no puede contactar con un servidor WEB Enmascaramiento de fallos: (Fallos detectados pueden ocultarse o atenuarse)Ejemplo: 1.- Los mensajes pueden retransmitirse cuando falla la recepcin2.- Los archivos con datos pueden escribirse en una pareja de discos

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicRendimientoRendimiento para un servicio multiusuario: Objetivo: Rendimiento no peor que un sistema centralizado.Rendimiento para la ejecucin paralela de aplicaciones: Objetivo: Rendimiento proporcional a procesadores empleados.Factores:Uso de esquemas de caching. Intentar que muchos accesos se hagan localmente.Uso de esquemas de replicacin. Reparto de carga entre componentes replicados.En ambos casos: Costo de mantener la coherencia.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicElasticidad o Capacidad de Crecimiento o EscalabilidadCambios de escala = aumento del nmero de usuarios y/o de recursosSistema elstico: conserva su eficacia y su eficiencia ante cambios de escalasin necesidad de cambios en el software de las aplicaciones o del sistemasin prdida significativa del rendimientocon un costo controlado de los recursos fsicossi hay muchos usuarios, se pueden aadir servidoressi un recurso es muy accedido, se puede replicarsin cuellos de botella en las prestacionessin limitar el nmero de recursos software

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicElasticidad o Capacidad de Crecimiento Ej: Acceso a recursos en Internet

    Tcnicas para afrontar el reto: Servidores cooperativos Replicacin de los datos. Reparto de estructuras de datos entre varios nodos Conservacin de los datos cerca de donde se usan (cache). Realizacin de parte del procesamiento en los nodos cliente.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicSeguridadLa seguridad de los recursos de informacin tiene 3 componentes:Confidencialidad (Proteccin contra el descubrimiento por individuos no autorizados)Integridad (Proteccin contra alteracin o corrupcin)Disponibilidad (Proteccin contra interferencia con los procedimientos de acceso a los recursos)

    Tipologa de los ataques:Privacidad y confidencialidad (enviar informacin sensible en un mensaje, por la red, de forma segura es decir ocultar los contenidos de los mensajes).Autenticacin (spoofing) (Conocer con certeza la identidad del usuario u otro agente en nombre se enva el mensaje).Ataque Denegacin de servicio. (Se da cuando un usuario desea obstaculizar un servicio por alguna razn. Esto se obtiene al bombardear el servicio con un numero suficiente de peticiones intiles de modo que los usuarios serios sean incapaces de utilizarlo).Seguridad del cdigo mvil. (El cdigo mvil necesita ser tratado con cuidado. Suponga que alguien recibe un programa ejecutable adherido a un correo electrnico: los posibles efectos son impredecibles).Modelos y herramientas de seguridad: Cifrado: clave pblica (RSA) y privada (DES). Protocolos de seguridad: IPsec, SSL. Certificados y firmas digitales: X.509. Elementos de seguridad: Firewalls.Entornos de seguridad: p. ej. Kerberos.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicComparticin de RecursosRecurso: entidad til que se puede compartirhardware: discos, impresorassoftware: archivos, bases de datos

    Beneficios del esquema comn de acceso: Ahorro de costos al compartir dispositivos hardware. La comparticin de datos es una exigencia esencial:herramientas de desarrollo: copia nicabases de datos comunes: vista coherentetrabajo cooperativo (groupware)

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicLa comparticin no es inmediata. Exige: comunicacin entre computadoras un programa que gestione el recursoLos gestores de cada tipo de recursos tienen: distintas polticas y mtodos exigencias comunes: nombramiento, acceso, etc.Modelo bsico: Modelo Cliente-Servidor Puede estar basado en ObjetosComparticin de Recursos

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicApertura o FlexibilidadPosibilidad de extensin del hardware y/o software (facilidad para incorporar cambios y extensiones al sistema) adems: posibilidad de hardware y software heterogneoEn S.D.: en qu medida se pueden aadir servicios: sin necesidad de paradas con diferentes orgenes Mtodo: las interfaces clave son pblicasUso preferible de arquitectura microkernel

    UNIX es ms abierto que sistemas previos: las llamadas al sistema dan acceso a los recursos se pueden extender fcilmente es independiente del hardware Problema: todo implementado en el ncleo (ncleo monoltico)

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicApertura o FlexibilidadSi queremos: acceder a ms recursos que los soportados por el ncleo local dar acceso a los recursos locales a clientes remotosNecesitamos Sistemas Distribuidos Abiertos, extensibles en:hardware, aadiendo mquinas a la redsoftware, aadiendo nuevos servicios fuera del ncleoSolucin: provisin de un mecanismo de comunicacin uniforme ej: comunicacin entre procesos basada en sockets

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicConcurrenciaEn SD aumentan las ocasiones, debido a: separacin de los usuarios la separacin de los procesos servidores independencia de los recursos

    Dentro de cada computadora:posibilidad de ejecucin concurrente

    Posibilidad de conflictos (inconsistencia)Necesidad de sincronizacin de los accesos

    Para que un objeto sea seguro en un entorno concurrente, sus operaciones deben sincronizarse de forma que sus datos permanezcan consistentes. Esto puede lograrse mediante el empleo de tcnicas conocidas como los semaforos.Contenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicCuestiones bsicas de diseo de los Sistemas DistribuidosNombramiento:Mantenimiento de consistenciaComunicacin:Estructura del software:Arquitecturas:

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicNombramientoNecesidad de referencias a los recursos nombres: usados por usuarios y programaslegibles por humanosidentificadores: usados slo por programasrepresentacin interna compactaResolver: traducir un nombre para poder invocar operaciones sobre el recurso al que se refiereServicios de Nombres: realizan la resolucinCredencial:identificador que garantiza que su poseedor tiene derecho a ejecutar una operacinNombres puros:no interpretables, ni contienen informacin acerca de la ubicacin del recursotransparencia de migracin

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicComunicacinLa comunicacin entre dos procesos causa:transferencia de datos de un entorno al otroadems, puede causar sincronizacin de sus actividadesForma bsica del paso de mensajes:primitivas send y receive:sncronas (o bloqueantes):el emisor espera hasta que el receptor haya recibidoasncronas (o no-bloqueantes):uso de buffers o de colas de mensajes

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicComunicacin cliente-servidorImplica dos mensajesSincronizacin: el cliente se bloquea hasta recibir la respuestaSe suele presentar al nivel de lenguaje como:invocacin remota (IMR o LPR)en trminos de un protocolo solicitud-respuestaEnlace (binding) dinmico: servidor de nombreslos servidores se registran al arrancarlos clientes interrogan al servidor de nombres

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicEstructura del Software en un sistema centralizadoNiveles de un sistema centralizado:diseo monoltico

    En los sistemas centralizados, el ncleo del S.O.Gestiona los recursos bsicosasigna y protege la memoriacrea los procesos y los planificamaneja los dispositivos perifricosda servicio a usuarios y aplicacionesDa servicio a usuarios y aplicacionesautentifica a los usuarios y controla el accesoadministra los archivosadministra el tiempoHardwareSistema OperativoSoporte a Lenguajesde ProgramacinAplicaciones

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicEstructura del Software en un sistema distribuidoEn SD, se deben poder aadir nuevos servicios

    El ncleo slo gestiona los recursos bsicos: +IPC (la comunicacin entre procesos)

    El ncleo:trata con abstracciones universales:procesos,

    Nuevo componente software: servicios abiertosgestionan el resto de recursos compartidosimplementados como procesos fuera del ncleo

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicEstructura del Software en un sistema distribuidoApertura = posibilidad de configurar a medidalos administradores aaden servicioslos usuarios seleccionan lo que necesitanse puede aadir hardware/software heterogneo sobre la marchasistemas no atados a un fabricanteCategoras del software de un Sistema Distribuidocorresponden a diferentes niveles de abstraccinproveen diferentes grados de transparencia

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicEstructura del Software en un sistema distribuido- Plataforma. El nivel de hardware y las capas mas bajas de software se denominan plataforma para sistemas distribuidos y aplicaciones. Estas capas mas bajas proporcionan servicios a las capas que estn por encima de ellas y que son implementadas independientemente en cada computador, proporcionando una interfaz de programacin del sistema a un nivel que facilita la comunicacin y coordinacin entre procesos.Ejemplo: Windows para Intel X86, Sun OS para Sun SPARC, Solaris para Intel X86, Mac OS para power PC, Linux para Intel X86 .

    Logica de Mediacin o Middleware: Se representa mediante procesos u objetos en un conjunto de computadoras que interactan entre si para implementar mecanismos de comunicacin y de recursos compartidos para aplicaciones distribuidas. Mejora el nivel de las actividades de comunicacin de los programas de aplicacin soportando abstracciones como: procedimiento de invocacin remota RPC, comunicacin entre un grupo de procesos multicast, notificacin de eventos, replicacin de datos compartidos.Plataforma

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMiddlewareMiddleware:Capa de software que ejecuta sobre el sistema operativo local ofreciendo unos servicios distribuidos estandarizados.Sistema abierto independiente del fabricante.No depende del hardware y sistema operativo subyacente.Ejemplos:DCE (Open Group).CORBA (OMG)....HardwareSOHardwareSOHardwareSOMiddleware

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicModelos y Arquitectura de Sistema Sistemas DistribuidosArquitecturas de Hardware:

    Modelo punto a puntoModelo de Cliente-Servidor

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicModelo Arquitectnico: DefinicinUn modelo arquitectnico de un sistema distribuido simplifica y abstrae, inicialmente, las funciones de los componentes individuales de dicho sistema y posteriormente considera:

    La ubicacin de los componentes en la red de computadoras, buscando definir patrones utilizables para la distribucin de datos y carga de trabajo.Las interrelaciones entre componentes, es decir, sus papeles funcionales y los patrones de comunicacin entre ellos.

    Clasificar los procesos (Servidores, clientes e iguales)Identifica las responsabilidades de cada uno y ayuda a valorar sus cargas de trabajo y a determinar el impacto de los fallos de cada uno de ellos.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicModelo Arquitectnico: Variaciones del modelo C/SSe pueden construir otros sistemas dinmicos como variaciones del modelo Cliente/Servidor:La posibilidad de mover cdigo de un proceso a otro permite que un proceso delegue tareas en otro Ejemplo: Los clientes pueden descargar cdigo de los servidores y ejecutarlo localmente. Los objetos y el cdigo al que acceden puede reubicarse para reducir los retardos de acceso y minimizar el trfico de comunicacin.

    Algunos sistemas distribuidos se disean para permitir que los computadores y otros dispositivos mviles se aadan o eliminen sin incidencias, permitiendo el descubrimiento de servicios disponibles y el ofrecer sus servicios a otros.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicArquitectura de sistemas: Fig. 2.2 modelo Cliente-ServidorEl modelo C/S es la arquitectura que se cita mas a menudo cuando se discuten sistemas distribuidos la fig. 2.2 muestra la sencilla estructura sobre lo que interaccionan los procesos clientes con los procesos servidores individuales, en computadoras separados , con el fin de acceder a los recursos compartidos que ellos gestionan.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicElementos de Construccin C/S

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMiddleware Servidor a ServidorLos servidores a su vez puede ser clientes de otros servidores:Ejemplo: un servidor web es a veces, un cliente de un servidor archivos local que gestiona los archivos que estn almacenadas las paginas web.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 2.3 Servicios proporcionados por mltiples servidoresLos servicios pueden implementarse como distintos procesos de servidor en computadoras separados interaccionando, cuando es necesario, para proporcionar un servicio a los procesos clientes. Los servidores pueden dividirse un conjunto de objetos en los que est basado el servicio y distribuirselo entre ellos mismos, o pueden mantener copias replicadas de ellos en varias maquinas

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 2.4 Un servidor proxy de tipo WEBUna cach es un almacn de objetos de datos utilizados recientemente, y que se encuentra ms prximo que los objetos en s. Al recibir un objeto nuevo en una computadora se aade al almacn de la cach, reemplazando, si fuera necesario, algunos objetos existentes. Las caches pueden estar ubicadas en cada cliente o en un servidor proxy que puede compartirse desde varios clientes.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 2.5 Una aplicacin Distribuida basada en procesos de igual a igualEn esta arquitectura todos los procesos desempean tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cmputo sin distincin entre clientes y servidores. En este modelo, el cdigo en los procesos parejos o iguales mantiene la consistencia de los recursos y sincroniza las acciones a nivel de la aplicacin cuando es necesario.

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 2.6 Applets de tipo WEB

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicFig. 2.7 Clientes ligeros y Servidores de CalculoThinClientApplicationProcessNetwork computer or PCCompute servernetwork

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMantenimiento de la consistenciaProblema:concurrencia + separacinde actualizacinde replicacinde cachede fallode relojde interfaz de usuarioTipos deConsistencia

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMantenimiento de la consistencia Consistencia de actualizacin:Al modificar un conjunto de datos relacionados:no es posible hacerlos todos de forma instantnease necesita que para los dems procesos sean atmicos

    Especialmente significativo en SD:hay muchos usuarios accediendo a datos compartidosafecta a informacin de sistema: directorios, nombres, ...

    Consistencia de replicacin:Inconsistencia entre copias de los mismos datosRplicas actualizadas en rdenes distintos

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMantenimiento de la consistenciaConsistencia de cache:cache = conservacin de datos en el clientemuy dependiente de la localidad de referenciano afecta al diseo de los servidores

    gran ahorro de comunicaciones en la redadems, datos utilizables por todos los procesos clientes de una misma mquina

    Si mismos datos retenidos en diferentes clientes:Una actualizacin en uno no se ve en los demsproblema de los datos rancios (stale)es un caso especial de la consistencia de replicacin

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de TepicMantenimiento de la consistenciaConsistencia de fallo:Sistema centralizado: modo de fallo simpleSD: modos de fallo mltiplessi un componente falla, los otros pueden seguirpero si estaban cooperando: resultado impredecibleConsistencia de reloj:En SD: uso intensivo de sellos temporalesnecesidad de sincronizacin: mediante mensajesproblema: el tiempo de un envo no es predeciblepero nos basta con ordenar eventos: relojes lgicosConsistencia de interfaz de usuario:enmascaramiento de las operaciones remotas en aplicaciones interactivas

    Contenido

    Instituto Tecnolgico de Tepic

  • Instituto Tecnolgico de Tepic

    **