Sistemas operativos en ambientes distribuidos Unidad 1 TEMA: Características de los Sistemas...

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

Transcript of Sistemas operativos en ambientes distribuidos Unidad 1 TEMA: Características de los Sistemas...

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

Sistemas operativos en ambientes distribuidos

Unidad 1

TEMA: Características de los Sistemas Distribuidos

Ing. Efrain Padilla Valera

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

Instituto Tecnológico de Tepic

Contenido

Cuestiones Básicas de Diseño.

Historia y Definición de sistemas distribuidos (SD)

Ventajas y desventajas de los SD

Características Claves de SD

Aplicaciones

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

Instituto Tecnológico de Tepic

Bibliografía Distributed Systems: Concepts and Design

G. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001

Distributed Operating SystemsA. S. TanenbaumPrentice-Hall, 1995

Distributed Operating Systems: Concepts & PracticeD. L. GalliPrentice-Hall, 2000

Distributed Operating Systems & AlgorithmsR. Chow, T. JohnsonAddison-Wesley, 1997

Traducciones al Español Sistemas Distribuidos: Conceptos y Diseño

G. Coulouris, J. Dollimore, T. KindbergAddison-Wesley, 2001

Sistemas Operativos DistribuidosA. S. TanenbaumPrentice-Hall, 1996

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

Instituto Tecnológico de Tepic

Historia de los Sistemas Distribuidos

Disminución de costosComercio ElectronicoInformación Distribuida (WWW)

Decada1970

Decada1980

Decada1990

Todo llevo a

¿Porqué su Desarrollo?

Redes de ComunicaciónDe Alta Velocidad

Ingenería del Software

Microelectrónica

Contenido

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

Instituto Tecnológico de Tepic

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 porpaso de mensajes" [Coulouris 2002].

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

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

Instituto Tecnológico de Tepic

Definicion de Sistemas Distribuidos

Propiedades básicas:

Múltiples procesadores (con memoria local)

Interconexión (red de comunicación)

Estado compartido (para coordinación global)

Síntomas de un SD Síntomas de un SD (Schroeder, 92)(Schroeder, 92)

Además, ...

Fallas independientes

Comunicación no fiable

Comunicación insegura

Comunicación costosa

Contenido

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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.

Aplicaciones

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

Instituto Tecnológico de Tepic

intranet

ISP

desktop computer:

backbone

satellite link

server:

network link:

Fig. 1.1 Una porción típica de Internet

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.

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

Instituto Tecnológico de Tepic

Figura 1.2 Una Intranet típica

the rest of

email server

Web server

Desktopcomputers

File server

router/firewall

print and other servers

other servers

print

Local areanetwork

email server

the Internet

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

Instituto Tecnológico de Tepic

Figura 1.3 Dispositivos portátiles y de mano en un sistema distribuido

Laptop

Mobile

PrinterCamera

Internet

Host intranet Home intranetWAP

Wireless LAN

phone

gateway

Host site

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

Instituto Tecnológico de Tepic

Nuevos Paradigmas de Sistemas Distribuidos

Paradigmas

•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

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

Instituto Tecnológico de Tepic

•Transparencia• Fiabilidad o Tratamiento de fallos• Rendimiento

•Elasticidad.•Seguridad.•Compartición de recursos.

•Apertura o flexibilidad•Soporte a la concurrencia

SistemaDistribuido

Objetivos o Características de un Sistema Distribuido

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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.

• 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 recepción– 2.- Los archivos con datos pueden escribirse en una pareja de discos

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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)

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

Instituto Tecnológico de Tepic

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

Compartición de Recursos

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

Instituto Tecnológico de Tepic

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)

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

Instituto Tecnológico de Tepic

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

remotosNecesitamos 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

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

Cuestiones básicas de diseño de los Sistemas Distribuidos

Nombramiento:

Mantenimiento de consistencia

Comunicación:

Estructura del software:

Arquitecturas:

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

Comunicación cliente-servidor

Implica dos mensajesSincronización: el cliente se bloquea hasta

recibir la respuestaSe 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

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

Instituto Tecnológico de Tepic

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

Hardware

Sistema Operativo

Soporte a Lenguajesde Programación

Aplicaciones

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

Estructura 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 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.

Plataforma

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

Instituto Tecnológico de Tepic

MiddlewareMiddleware:

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). ...

Hardware

SO

Hardware

SO

Hardware

SO

Middleware

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

Instituto Tecnológico de Tepic

Modelos y Arquitectura de Sistema Sistemas Distribuidos

Arquitecturas de Hardware:

Modelo punto a punto Modelo de Cliente-Servidor

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

Arquitectura de sistemas: Fig. 2.2 modelo Cliente-Servidor

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

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.

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

Instituto Tecnológico de Tepic

Elementos de Construcción C/S

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

Instituto Tecnológico de Tepic

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.

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

Instituto Tecnológico de Tepic

Fig. 2.3 Servicios proporcionados por múltiples servidores

Server

Server

Server

Service

Client

Client

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

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

Instituto Tecnológico de Tepic

Fig. 2.4 Un servidor proxy de tipo WEB

Client

Proxy

Web

server

Web

server

serverClient

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.

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

Instituto Tecnológico de Tepic

Fig. 2.5 Una aplicación Distribuida basada en procesos de igual a igual

Coordination

Application

code

Coordination

Application

code

Coordination

Application

code

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.

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

Instituto Tecnológico de Tepic

Fig. 2.6 Applets de tipo WEB

a) client request results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet code

Client

b) client interacts with the applet

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

Instituto Tecnológico de Tepic

Fig. 2.7 Clientes ligeros y Servidores de Calculo

ThinClient

ApplicationProcess

Network computer or PCCompute server

network

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

Instituto Tecnológico de Tepic

Mantenimiento de la consistencia

Problema:concurrencia + separación

de actualización

de replicación

de cache

de fallo

de reloj

de interfaz de usuario

Tipos de

Consistencia

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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

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

Instituto Tecnológico de Tepic

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 interactivasContenido

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