Unidad I Fundamentos de Sistemas...

48
Unidad I Fundamentos de Sistemas Distribuidos M.C. Juan Carlos Olivares Rojas

Transcript of Unidad I Fundamentos de Sistemas...

Unidad I Fundamentos deSistemas Distribuidos

M.C. Juan Carlos Olivares Rojas

Temario

1.1. Características de un sistemadistribuido1.2. Objetivos de los sistemas distribuidos1.3. Ventajas y desventajas de los sistemasdistribuidos1.4. Complejidad de los sistemasdistribuidos1.5. Técnicas de construcción1.6. Requerimientos de aplicación1.7. Arquitectura básica1.8. Sistemas operativos distribuidos

1.1. Características de unsistema distribuido

• Un Sistema Distribuido (SD) es aquél que seejecuta como un sistema centralizado, peroque realmente se ejecuta sobre múltiples eindependientes CPU, haciéndolo de unaforma "transparente" para los usuarios.

• Es un término difícil de definir.

Sistemas Distribuidos• En general, se podría ver a un sistema

distribuido como la unión de una tecnologíade red y el uso de potentes máquinasmultiprocesadores.

• Un sistema distribuido es una colección decomputadoras independientes o autónomasque aparecen ante los usuarios del sistemacomo una única computadora.

Características de un SD• Múltiples elementos de procesamiento.• Mecanismos de intercomunicación.• Independencia a fallos en los nodos de

procesamiento.• Estado de compartición.• Esquema de protección.• Sistemas Abiertos.• Plataformas diversas (heterogéneas).

Diferencias entre un Sistema deRed y un SD

• Un Sistema de Red (SR) es una colecciónde sistemas operativos locales,acompañado de servidores de impresión, dearchivos, etc., conectados por medio de unared.

• Los SR se ejecutan como funciones localesautónomas a la administración dedispositivos, de procesos, de entradas ysalidas, de archivos y recursos en general.

SR vs SD• Un SD es un solo sistema expandido en

toda la red, pero visto como un sólo sistemapara todos los elementos que existen en lared.

• Los usuarios no toman cuidado por el lugardonde se localizan sus archivos, procesos,etc.

• Todo el control y las decisiones sontomadas globalmente

1.2. Objetivos de los sistemasdistribuidos

• Compartir información y otros recursos.• Economizar el rendimiento (procesamiento y

almacenamiento).• Crecimiento incremental.• Alta disponibilidad• Confiabildad (tolerancia a fallos)

1.3. Ventajas y desventajas delos sistemas distribuidos

• La base comparativa para obtener lasventajas y desventajas de los SD se hacecon respecto a una computadora aislada.

• A continuación se mencionan las ventajasde los SD.

Ventajas de los SD• Con el uso de SD se logra compartir

información así como dispositivos periféricosentre más de un usuario.

• Los SD permiten dividir las cargas detrabajo entre diferentes computadoras demanera más eficaz.

• Cuando un nodo de procesamiento falla, elsistema en general sigue funcionando.

• Ejecución concurrente de procesos

Desventajas de los SD• Debido a que la tecnología de los SD aún

está siendo explorada, no se tiene laexperiencia suficiente en el diseño,implantación y uso del software distribuido yse debe contestar a preguntas tales como:

• ¿Qué tipos de sistemas operativos,lenguajes de programación y aplicacionesson los adecuados para estos sistemas?,

Desventaja de los SD• ¿Cuánto deben saber los usuarios de la

distribución?• Las redes de comunicación, pueden llegar a

perder mensajes, latencia de lascomunicaciones o saturación de mensajes.

• Otra de las desventajas de los SD es lavulnerabilidad que puede sufrir lainformación que puede llegar a estardisponible para un gran número de usuariosdel sistema.

Desventajas de los SD• Requerimientos de mayores controles de

procesamiento y acceso.

• Administración más compleja.

• Costos.

1.4. Complejidad de los sistemasdistribuidos

• Los sistemas distribuidos tienen más de dosdécadas de haber surgido pero son tancomplicados en su construcción tanto comouna red de transporte público como elmetro, y pasará más tiempo para quepodamos entenderlos correctamente yconstruir uno de la manera más apropiada.

Complejidad de los SD• La fuente básica de la complejidad de los

SD recae en la interconexión decomponentes.

• Existen fallas en todos los sistemas, sóloque en un SD resultan más visibles. Acontinuación se muestran algunosproblemas del sistema.

Complejidad de los SD• Al interconectar dos o más elementos entre

si, sus funcionalidades se interfieren.

• Pueden existir también fallas depropagación.

• Se pueden tener fallas por el tamaño delsistema.

Complejidad de los SD• Las aplicaciones "distribuidas" deben estar

preparadas para soportar fallas parciales; loque representa una complejidad adicionalen el diseño de éstas aplicaciones.

• Se deben tener mecanismos para lalocalización de recursos, la recuperación deéstos, así como la coordinación de lasréplicas de los estados de los servidores.

Complejidad de los SD• No se tiene disponibilidad de una memoria

global y un reloj global, no se puedenpredecir los retardos y mensajes.

• Se requiere más capacidad dealmacenamiento.

• S requiere de sincronización para actualizarel estado del sistema.

• Compatibilidad.

Complejidad de los SD• Los recursos compartidos deben ser

accedidos por un proceso a la vez(exclusión mutua) y deben liberarse.

• Seriabilización.

• Los procesos deben solicitar recursoslocales o remotos y posteriormenteliberados en cualquier orden que puede serno conocido.

1.5 Técnicas de construcción deSD

• Seguridad.• Desempeño y crecimiento modular.• Tiempo de respuesta limitado.• Control autónomo.

• Temas relacionados con lascomunicaciones (ancho de banda, latencia,distancia geográfica).

Consejos para construir SD• Duplicar la información para aumentar la

disponibilidad.• Usar copias locales de la información para

permitir una operación autónoma. Utilizarcachés.

• Usar tiempos de espera para revocar.• Usar mecanismos estándares para llamadas

remotas.• Utilizar técnicas de criptografía para la

autenticación y seguridad de la información.

1.6 Requerimientos de aplicación• A continuación se muestran algunos de los

requerimientos de aplicaciones distribuidas.

• Disponibilidad y confiabilidad.• Transparencia. Es uno de los aspectos más

interesantes referente a los SD, consiste enlograr la imagen de un único sistema.Existen diferentes tipos de transferencia.

Tipos de transparencia• Transparencia de localización.

• Transparencia de réplica.

• Transparencia de migración.

• Transparente a la concurrencia.

Clasificación de SD• Una de las clasificaciones más aceptadas

es la de Flynn, la cual se basa en doscaracterísticas esenciales: el número deflujos de instrucciones y el número de flujode datos. La clasificación es la siguiente:

• Una computadora con un sólo flujo deinstrucciones y un flujo de datos (SISD,Single Instruction Single Data).Computadoras con monoprocesador.

Clasificación de SD• Computadoras con un flujo de instrucciones

y varios flujos de datos (SIMD, SingleInstruction Multiple Data). Procesadoresvectoriales.

• Computadoras con múltiples flujos deinstrucciones y varios flujos de datos (MIMD,Multiple Instruction Multiple Data). Conceptode SD (no implementada como tal)

Clasificación SD• Los sistemas MIMD se subdividen en dos

grupos:

• Máquinas multiprocesadores. Existe unespacio de direcciones virtuales, compartidopor todos los CPU del sistema.

• Sistemas multicomputadoras. Cadamáquina tiene su propia memoria enparticular.

Clasificación SD• Las categorías anteriores puede clasificarse

de acuerdo a la red de comunicación con laque se interconectan los CPU, en lassiguientes categorías:

• Tecnología de bus• La tecnología de conmutador

Otras clasificaciones de SD• En todos los sistemas de equipo de

cómputo, algunas máquinas estánfuertemente acopladas, mientras que otrasestán débilmente acopladas.

• A continuación se muestran cuatrocategorías de sistemas de cómputo, enbase al acoplamiento y tipo de conexión.

Otras clasificaciones de SD• Multiprocesadores con base en buses.

• Multiprocesadores con conmutador.

• Multicomputadoras con base en buses.

• Multicomputadoras con conmutador.

Otras clasificaciones de SD• En base al acoplamiento del software con el

hardware los SD se dividen en:• Software débilmente acoplado en hardware

débilmente acoplado. LAN• Software fuertemente acoplado en hardware

débilmente acoplado (multicomputadoras).SD

• Software fuertemente acoplado en hardwarefuertemente acoplado. Sistemas TiempoCompartido y Servidores Dedicados.

1.7 Arquitectura básica• Una arquitectura es un conjunto de reglas,

definiciones, términos y modelos que seemplean para producir un producto.

• La Arquitectura Cliente/Servidor (C/S)agrupa conjuntos de elementos queefectúan procesos distribuidos y computocooperativo.

1.7. Arquitectura Cliente/Servidor• Este modelo se basa en un protocolo

solicitud – respuesta. El cliente envía unasolicitud de cierto servicio al servidor, elservidor realiza el trabajo y regresa elresultado de la operación.

• La principal ventaja de este protocolo es susencillez, únicamente se necesita laubicación del servidor.

Arquitectura Cliente/Servidor• Beneficios:

• Mejor aprovechamiento de la potencia decómputo (Repartición del trabajo).

• Reducción del tráfico en la red.• Opera bajo sistemas abiertos.• Facilita el uso de interfaces gráficas

variadas y versátiles.

Cliente• Conjunto de software y hardware que invoca

los servicios de uno o varios servidores.

• Características:– El Cliente oculta al servidor y la red.– Mantener y procesar todo el diálogo con el

usuario.– Manejo de la interfaz, entrada de datos y

validación.

Servidor• Conjunto de hardware y software que

responde a los requerimientos de un 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).

Servidor• Funciones del Servidor:

• Acceso, almacenamiento y organización dedatos.

• Administración de recursos compartidos.

• Ejecución de toda la lógica para procesaruna transacción.

Middleware• Capa de software que se ejecuta sobre el

sistema operativo local ofreciendo unosservicios distribuidos estandarizados.

• Sistema abierto independiente del fabricante.• No depende del hardware y sistema

operativo subyacente.• Ejemplos:

– DCE (Open Group).– CORBA (OMG).

Otras Arquitecturas• P2P (Peer to Peer)

• Arquitecturas de intermediarios

• Arquitecturas de 2, 3 y n-capas

• Clientes pesados, ligeros e inteligentes

Arquitectura de SistemasCentralizados

• Único computador (caro y de gran potencia)con terminales

• Soporte multiusuario

• – Ley de Grosch (obsoleta):• Prestaciones = (Precio)2

1.8. Sistemas OperativosDistribuidos

• Un Sistema Operativo Distribuido (SOD)extiende el concepto de administración derecursos e interfaces con el usuario haciacomputadoras de memoria compartida, elcual consiste en varias computadorasautónomas conectadas por una red decomunicaciones.

Características de los SOD• Para cada uno de los usuarios debe de ser

similar al trabajo en el Sistema Centralizado.• Se ejecuta en múltiples Computadoras.• Tiene varias copias del mismo Sistema

Operativo o de diferentes SistemasOperativos que proveen los mismosservicios.

• Transparencia

Amoeba• Creado en 1981 en Holanda por Andrew

Tanenbaum y otros.

• Es un Sistema Operativo (SO) creado desdecero, sin problemas de compatibilidades.

• Es totalmente transparente ya que noexisten máquinas clientes ni servidores

Amoeba• Está escrito en C y presenta balanceo de

carga.

• No hace uso de memoria compartida.

• Dispone de un micronúcleo que se ejecutaen cada máquina.

Mach• Se originó en 1984 en la Carneige Mellon

University.

• Se fusionó con Unix BSD para dar unsoporte a aplicaciones legadas.

• La OSF (Open Software Foundation) loescoge como su SO llamándolo OSF/1.

Mach• El código creció demasiado por lo que se

tuvo que mantener un micronúcleo y elsoporte para Unix se hizo a través de unemulador.

• En la década de 1990, surgió Mach 4.

• El Mac OS X está basado en Mach (versiónNeXSTEP).

Chorus• Se originó en Francia en el INRIA.

• Es un sistema modular con soporte paraaplicaciones Unix.

• Se caracteriza por el manejo excesivo dehilos.

Plan9• Se originó a finales de la década de 1980

con apoyo de IBM.

• Es compatible con POSIX.

• Está conformada por protocolos especiales.

¿Preguntas?