La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas operativos en ambientes distribuidos

Presentaciones similares


Presentación del tema: "Sistemas operativos en ambientes distribuidos"— Transcripción de la presentación:

1 Sistemas operativos en ambientes distribuidos
Unidad 1 TEMA: Características de los Sistemas Distribuidos Ing. Efrain Padilla Valera

2 Contenido Historia y Definición de sistemas distribuidos (SD)
Ventajas y desventajas de los SD Aplicaciones Características Claves de SD Cuestiones Básicas de Diseño. Instituto Tecnológico de Tepic

3 Bibliografía Distributed Systems: Concepts and Design
G. Coulouris, J. Dollimore, T. Kindberg Addison-Wesley, 2001 Distributed Operating Systems A. S. Tanenbaum Prentice-Hall, 1995 Distributed Operating Systems: Concepts & Practice D. L. Galli Prentice-Hall, 2000 Distributed Operating Systems & Algorithms R. Chow, T. Johnson Addison-Wesley, 1997 Traducciones al Español Sistemas Distribuidos: Conceptos y Diseño Sistemas Operativos Distribuidos Prentice-Hall, 1996 Instituto Tecnológico de Tepic

4 Historia de los Sistemas Distribuidos
¿Porqué su Desarrollo? Todo llevo a Decada 1970 Disminución de costos Comercio Electronico Información Distribuida (WWW) Decada 1990 Microelectrónica Ingenería del Software Decada 1980 Redes de Comunicación De Alta Velocidad Contenido Instituto Tecnológico de Tepic

5 Definición de Sistemas Distribuidos (SD)
"Sistema en el cual múltiples procesadores autónomos, posiblemente de diferente tipo, están interconectados por una subred de comunicación 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 sólo por paso de mensajes" [Coulouris 2002]. "Conjunto de computadores independientes que se muestran al usuario comoun sistema único coherente" [Tanenbaum 2001] . Instituto Tecnológico de Tepic

6 Definicion de Sistemas Distribuidos
Síntomas de un SD (Schroeder, 92) Propiedades básicas: Múltiples procesadores (con memoria local) Interconexión (red de comunicación) Estado compartido (para coordinación global) Además, ... Fallas independientes Comunicación no fiable Comunicación insegura Comunicación costosa Contenido Instituto Tecnológico de Tepic

7 Soporte de aplicaciones inherentemente distribuidas.
Ventajas de los SD 1 Economía: Buena relación rendimiento /costo Avances en la tecnología de microprocesadores y redes de área local 2 Alto rendimiento: Procesamiento paralelo. 3 Soporte de aplicaciones inherentemente distribuidas. Por ejemplo: empresa distribuida geográficamente 4 Capacidad de crecimiento: Escalabilidad. Instituto Tecnológico de Tepic

8 Carácter abierto y heterogéneo: Compartir recursos y datos.
Ventajas de los SD 5 Fiabilidad y disponibilidad: Tolerancia a fallos 6 Carácter abierto y heterogéneo: Estándares de interoperabilidad. 7 Compartir recursos y datos. Instituto Tecnológico de Tepic

9 Red de interconexión problemas: Seguridad y confidencialidad
Desventajas de los SD 1 Necesidad de un nuevo tipo de software: Más complejo. No hay todavía un acuerdo sobre cómo debe ser. 2 Red de interconexión problemas: Pérdida de mensajes y saturación. Latencia puede provocar que al recibir un dato ya esté obsoleto. La red es un elemento crítico. 3 Seguridad y confidencialidad . Contenido Instituto Tecnológico de Tepic

10 Aplicaciones de Sistemas Distribuidos
Entornos empresariales: redes corporativas e intranets: – Sustituye a los clásicos mainframes. Entornos de computación de alto rendimiento: – Procesamiento paralelo, alternativa a costosos supercomputadores. Servicios con alta disponibilidad y rendimiento. • Sistemas distribuidos de gestión de bases de datos • Aplicaciones multimedia. • Sistemas industriales distribuidos y aplicaciones de control. • Internet: un enorme sistema distribuido. Instituto Tecnológico de Tepic

11 Fig. 1.1 Una porción típica de Internet
intranet ISP desktop computer: backbone satellite link server: % network link: Computadores conectados interactúan mediante paso de mensajes, empleando un medio común de comunicación. El diseño y la construcción de los mecanismos de comunicación de Internet (protocolos Internet) es una técnica fundamental, permitiendo un proceso en ejecución dirija mensajes a procesos en cualquier parte. Instituto Tecnológico de Tepic

12 Figura 1.2 Una Intranet típica
Instituto Tecnológico de Tepic

13 Figura 1.3 Dispositivos portátiles y de mano en un sistema distribuido
Instituto Tecnológico de Tepic

14 Nuevos Paradigmas de Sistemas Distribuidos
Cluster Computing: – Dedicados a tareas específicas: • Alto rendimiento. • Alta disponibilidad. – Sistema homogéneo (a menudo dedicado): • Nodos PCs. • LAN (de propósito general o específicas). – Problemática: 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. – Problemática: Coordinación, seguridad, carácter dinámico. Contenido Instituto Tecnológico de Tepic

15 Objetivos o Características de un Sistema Distribuido
Transparencia Fiabilidad o Tratamiento de fallos Rendimiento Sistema Distribuido Elasticidad. Seguridad. Compartición de recursos. Apertura o flexibilidad Soporte a la concurrencia Instituto Tecnológico de Tepic

16 Transparencia y Tipos de Transparencia
Transparencia = ocultación de la separación - a los usuarios - y a los programadores de aplicaciones Provee la visión del sistema: - como un todo - y no como una colección de componentes independientes ¿Es buena tanta transparencia? no siempre deseable: impresoras - A veces el usuario precisa conocer cómo es el sistema subyacente 1 y 2 Acceso: Manera de acceder a recurso local igual que a remoto. Posición: Se accede a los recursos sin conocer su localización. 3 y 4 Migración: Recursos pueden migrar sin afectar a los usuarios. Concurrencia: Acceso concurrente no afecta a los usuarios. 5 y 6 Replicación: La existencia de réplicas no afecta a los usuarios. Fallos: La ocurrencia de fallos no afecta a los usuarios. 7 y 8 Crecimiento: El crecimiento del sistema no afecta a los usuarios. Heterogeneidad: Carácter Heterogéneo no afecta a los usuarios. Instituto Tecnológico de Tepic

17 Fiabilidad o Tratamiento de fallos
En los sistemas distribuidos los fallos son parciales (algunos componentes fallan mientras otros siguen funcionando. Técnicas para tratar fallos. Detección de fallos: (sumas de comprobación “checksums” para detectar datos corruptos en un mensaje o en un archivo). Recuperación frente a fallos: Implica que el diseño de software en el que tras una caida del servidor, el estado de los datos pueda reponerse o retractarse “rollback” a una situación 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 Internet En DNS, cada tabla de nombres se encuentra replicada en 2 servidores diferentes Una 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 mayoría de los servicios en Internet exhiben fallos (sus: clientes pueden diseñarse para tolerar ciertos fallos, lo que implica que los usuarios tendrán que tolerarlos generalmente. Navegador WEB no puede contactar con un servidor WEB Enmascaramiento de fallos: (Fallos detectados pueden ocultarse o atenuarse) 1.- Los mensajes pueden retransmitirse cuando falla la recepción 2.- Los archivos con datos pueden escribirse en una pareja de discos Instituto Tecnológico de Tepic

18 Rendimiento Rendimiento para un servicio multiusuario:
– Objetivo: Rendimiento no peor que un sistema centralizado. Rendimiento para la ejecución 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 replicación. – Reparto de carga entre componentes replicados. En ambos casos: Costo de mantener la coherencia. Instituto Tecnológico de Tepic

19 Elasticidad o Capacidad de Crecimiento o Escalabilidad
Cambios de escala = aumento del número de usuarios y/o de recursos Sistema elástico: conserva su eficacia y su eficiencia ante cambios de escala sin necesidad de cambios en el software de las aplicaciones o del sistema sin pérdida significativa del rendimiento con un costo controlado de los recursos físicos si hay muchos usuarios, se pueden añadir servidores si un recurso es muy accedido, se puede replicar sin cuellos de botella en las prestaciones sin limitar el número de recursos software Instituto Tecnológico de Tepic

20 Elasticidad o Capacidad de Crecimiento
• Ej: Acceso a recursos en Internet Técnicas para afrontar el reto: – Servidores cooperativos – Replicación de los datos. Reparto de estructuras de datos entre varios nodos – Conservación de los datos cerca de donde se usan (cache). Realización de parte del procesamiento en los nodos cliente. Instituto Tecnológico de Tepic

21 Seguridad La seguridad de los recursos de información tiene 3 componentes: Confidencialidad (Protección contra el descubrimiento por individuos no autorizados) Integridad (Protección contra alteración o corrupción) Disponibilidad (Protección contra interferencia con los procedimientos de acceso a los recursos) Tipología de los ataques: Privacidad y confidencialidad (enviar información sensible en un mensaje, por la red, de forma segura es decir ocultar los contenidos de los mensajes). Autenticación (spoofing) (Conocer con certeza la identidad del usuario u otro agente en nombre se envía el mensaje). Ataque Denegación de servicio. (Se da cuando un usuario desea obstaculizar un servicio por alguna razón. Esto se obtiene al bombardear el servicio con un numero suficiente de peticiones inútiles de modo que los usuarios serios sean incapaces de utilizarlo). Seguridad del código móvil. (El código móvil necesita ser tratado con cuidado. Suponga que alguien recibe un programa ejecutable adherido a un correo electrónico: los posibles efectos son impredecibles). Modelos y herramientas de seguridad: – Cifrado: clave pública (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 Tecnológico de Tepic

22 Compartición de Recursos
Recurso: entidad útil que se puede compartir hardware: discos, impresoras software: archivos, bases de datos Beneficios del esquema común de acceso: – Ahorro de costos al compartir dispositivos hardware. – La compartición de datos es una exigencia esencial: herramientas de desarrollo: copia única bases de datos comunes: vista coherente trabajo cooperativo (groupware) Instituto Tecnológico de Tepic

23 Compartición de Recursos
La compartición no es inmediata. Exige: – comunicación entre computadoras – un programa que gestione el recurso Los gestores de cada tipo de recursos tienen: – distintas políticas y métodos – exigencias comunes: nombramiento, acceso, etc. Modelo básico: – Modelo Cliente-Servidor – Puede estar basado en Objetos Instituto Tecnológico de Tepic

24 Apertura o Flexibilidad
Posibilidad de extensión del hardware y/o software (facilidad para incorporar cambios y extensiones al sistema) – además: posibilidad de hardware y software heterogéneo En S.D.: en qué medida se pueden añadir servicios: – sin necesidad de paradas – con diferentes orígenes – Método: las interfaces clave son públicas Uso preferible de arquitectura microkernel UNIX es “más abierto” que sistemas previos: – las llamadas al sistema dan acceso a los recursos – se pueden extender fácilmente – es independiente del hardware – Problema: todo implementado en el núcleo (núcleo monolítico) Instituto Tecnológico de Tepic

25 Apertura o Flexibilidad
Si queremos: – acceder a más recursos que los soportados por el núcleo local – dar acceso a los recursos locales a clientes remotos Necesitamos Sistemas Distribuidos Abiertos, – extensibles en: hardware, añadiendo máquinas a la red software, añadiendo nuevos servicios fuera del núcleo Solución: provisión de un mecanismo de comunicación uniforme – ej: comunicación entre procesos basada en sockets Instituto Tecnológico de Tepic

26 Concurrencia En SD aumentan las ocasiones, debido a:
– separación de los usuarios – la separación de los procesos servidores – independencia de los recursos Dentro de cada computadora: posibilidad de ejecución concurrente Posibilidad de conflictos (inconsistencia) Necesidad de sincronización 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 técnicas conocidas como los semaforos. Contenido Instituto Tecnológico de Tepic

27 Cuestiones básicas de diseño de los Sistemas Distribuidos
Nombramiento: Comunicación: Estructura del software: Arquitecturas: Mantenimiento de consistencia Instituto Tecnológico de Tepic

28 Nombramiento Necesidad de referencias a los recursos
nombres: usados por usuarios y programas legibles por humanos identificadores: usados sólo por programas representación interna compacta Resolver: traducir un nombre para poder invocar operaciones sobre el recurso al que se refiere Servicios de Nombres: realizan la resolución Credencial: identificador que garantiza que su poseedor tiene derecho a ejecutar una operación Nombres puros: no interpretables, ni contienen información acerca de la ubicación del recurso transparencia de migración Instituto Tecnológico de Tepic

29 Comunicación La comunicación entre dos procesos causa:
transferencia de datos de un entorno al otro además, puede causar sincronización de sus actividades Forma básica del paso de mensajes: primitivas send y receive: síncronas (o bloqueantes): el emisor espera hasta que el receptor haya recibido asíncronas (o no-bloqueantes): uso de buffers o de colas de mensajes Instituto Tecnológico de Tepic

30 Comunicación cliente-servidor
Implica dos mensajes Sincronización: el cliente se bloquea hasta recibir la respuesta Se suele presentar al nivel de lenguaje como: invocación remota (IMR o LPR) en términos de un protocolo solicitud-respuesta Enlace (binding) dinámico: servidor de nombres los servidores se registran al arrancar los clientes interrogan al servidor de nombres Instituto Tecnológico de Tepic

31 Estructura del Software en un sistema centralizado
Niveles de un sistema centralizado: diseño monolítico En los sistemas centralizados, el núcleo del S.O. Gestiona los recursos básicos asigna y protege la memoria crea los procesos y los planifica maneja los dispositivos periféricos da servicio a usuarios y aplicaciones Da servicio a usuarios y aplicaciones autentifica a los usuarios y controla el acceso administra los archivos administra el tiempo Aplicaciones Soporte a Lenguajes de Programación Sistema Operativo Hardware Instituto Tecnológico de Tepic

32 Estructura del Software en un sistema distribuido
En SD, se deben poder añadir nuevos servicios El núcleo sólo gestiona los recursos básicos: +IPC (la comunicación entre procesos) El núcleo: trata con abstracciones universales: procesos, … Nuevo componente software: servicios abiertos gestionan el resto de recursos compartidos implementados como procesos fuera del núcleo Instituto Tecnológico de Tepic

33 Estructura del Software en un sistema distribuido
Apertura = posibilidad de configurar a medida los administradores añaden servicios los usuarios seleccionan lo que necesitan se puede añadir hardware/software heterogéneo sobre la marcha sistemas no atados a un fabricante Categorías del software de un Sistema Distribuido corresponden a diferentes niveles de abstracción proveen diferentes grados de transparencia Instituto Tecnológico de Tepic

34 Estructura del Software en un sistema distribuido
Plataforma - 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 están por encima de ellas y que son implementadas independientemente en cada computador, proporcionando una interfaz de programación del sistema a un nivel que facilita la comunicación y coordinación 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 Mediación o Middleware: Se representa mediante procesos u objetos en un conjunto de computadoras que interactúan entre si para implementar mecanismos de comunicación y de recursos compartidos para aplicaciones distribuidas. Mejora el nivel de las actividades de comunicación de los programas de aplicación soportando abstracciones como: procedimiento de invocación remota “RPC”, comunicación entre un grupo de procesos “multicast”, notificación de eventos, replicación de datos compartidos. Instituto Tecnológico de Tepic

35 Middleware Middleware:
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). ... Middleware SO SO SO Hardware Hardware Hardware Instituto Tecnológico de Tepic

36 Modelos y Arquitectura de Sistema Sistemas Distribuidos
Arquitecturas de Hardware: Modelo punto a punto Modelo de Cliente-Servidor Instituto Tecnológico de Tepic

37 Modelo Arquitectónico: Definición
Un modelo arquitectónico de un sistema distribuido simplifica y abstrae, inicialmente, las funciones de los componentes individuales de dicho sistema y posteriormente considera: La ubicación de los componentes en la red de computadoras, buscando definir patrones utilizables para la distribución de datos y carga de trabajo. Las interrelaciones entre componentes, es decir, sus papeles funcionales y los patrones de comunicación 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 Tecnológico de Tepic

38 Modelo Arquitectónico: Variaciones del modelo C/S
Se pueden construir otros sistemas dinámicos como variaciones del modelo Cliente/Servidor: La posibilidad de mover código de un proceso a otro permite que un proceso delegue tareas en otro Ejemplo: Los clientes pueden descargar código de los servidores y ejecutarlo localmente. Los objetos y el código al que acceden puede reubicarse para reducir los retardos de acceso y minimizar el tráfico de comunicación. Algunos sistemas distribuidos se diseñan para permitir que los computadores y otros dispositivos móviles se añadan o eliminen sin incidencias, permitiendo el descubrimiento de servicios disponibles y el ofrecer sus servicios a otros. Instituto Tecnológico de Tepic

39 Arquitectura de sistemas: Fig. 2.2 modelo Cliente-Servidor
El 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 Tecnológico de Tepic

40 Elementos de Construcción C/S
Instituto Tecnológico de Tepic

41 Middleware Servidor a Servidor
Los 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 están almacenadas las paginas web. Instituto Tecnológico de Tepic

42 Fig. 2.3 Servicios proporcionados por múltiples servidores
Los 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 Tecnológico de Tepic

43 Fig. 2.4 Un servidor proxy de tipo WEB
Una caché es un almacén de objetos de datos utilizados recientemente, y que se encuentra más próximo que los objetos en sí. Al recibir un objeto nuevo en una computadora se añade al almacén 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 Tecnológico de Tepic

44 Fig. 2.5 Una aplicación Distribuida basada en procesos de igual a igual
En esta arquitectura todos los procesos desempeñan tareas semejantes, interactuando cooperativamente como iguales para realizar una actividad distribuida o cómputo sin distinción entre clientes y servidores. En este modelo, el código en los procesos parejos o iguales mantiene la consistencia de los recursos y sincroniza las acciones a nivel de la aplicación cuando es necesario. Instituto Tecnológico de Tepic

45 Fig. 2.6 Applets de tipo WEB Instituto Tecnológico de Tepic

46 Fig. 2.7 Clientes ligeros y Servidores de Calculo
Compute server Network computer or PC network Application Thin Process Client Instituto Tecnológico de Tepic

47 Mantenimiento de la consistencia
Problema: concurrencia + separación de actualización de fallo Tipos de Consistencia de replicación de reloj de interfaz de usuario de cache Instituto Tecnológico de Tepic

48 Mantenimiento de la consistencia
• Consistencia de actualización: Al modificar un conjunto de datos relacionados: no es posible hacerlos todos de forma instantánea se necesita que para los demás procesos sean atómicos Especialmente significativo en SD: hay muchos usuarios accediendo a datos compartidos afecta a información de sistema: directorios, nombres, ... Consistencia de replicación: Inconsistencia entre copias de los mismos datos Réplicas actualizadas en órdenes distintos Instituto Tecnológico de Tepic

49 Mantenimiento de la consistencia
Consistencia de cache: cache = conservación de datos en el cliente muy dependiente de la localidad de referencia no afecta al diseño de los servidores gran ahorro de comunicaciones en la red además, datos utilizables por todos los procesos clientes de una misma máquina Si mismos datos retenidos en diferentes clientes: Una actualización en uno no se “ve” en los demás problema de los datos “rancios” (stale) es un caso especial de la consistencia de replicación Instituto Tecnológico de Tepic

50 Mantenimiento de la consistencia
Consistencia de fallo: Sistema centralizado: modo de fallo simple SD: modos de fallo múltiples si un componente falla, los otros pueden seguir pero si estaban cooperando: resultado impredecible Consistencia de reloj: En SD: uso intensivo de sellos temporales necesidad de sincronización: mediante mensajes problema: el tiempo de un envío no es predecible pero nos basta con ordenar eventos: relojes lógicos Consistencia de interfaz de usuario: enmascaramiento de las operaciones remotas en aplicaciones interactivas Contenido Instituto Tecnológico de Tepic

51 Gracias


Descargar ppt "Sistemas operativos en ambientes distribuidos"

Presentaciones similares


Anuncios Google