fundamentos y elementos de diseño de los sistemas distribuidos_parte1_1

27
1/ 58 58 FUNDAMENTOS Y ELEMENTOS DE DISEÑO DE LOS SISTEMAS DISTRIBUIDOS (PARTE I)

Upload: galo-salinas

Post on 26-Dec-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

11 /58/58

FUNDAMENTOS Y ELEMENTOS DE DISEÑO DE LOS

SISTEMAS DISTRIBUIDOS

(PARTE I)

Page 2: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

22 /58/58

Nacimiento de los Sistemas Nacimiento de los Sistemas DistribuidosDistribuidosCausas: Tecnología de microprocesadores: relación

potencia/coste.

Tecnologías de comunicaciones:◦ Protocolos de comunicaciones.◦ Redes de área local (LAN): Coste y prestaciones.◦ Internet

Factores comerciales:◦ Comercio electrónico: e-comerce.◦ Información distribuida (WWW).◦ Reducción de costes.

Sistemas Operativos Distribuidos2

Page 3: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

33 /58/58

Ventajas de los Sistemas Ventajas de los Sistemas DistribuidosDistribuidosEconomía: Buena relación rendimiento/coste

◦ Ley de Grosch (obsoleta):Prestaciones = cte x (Precio)2

Alto rendimiento: Procesamiento paralelo.Soporte de aplicaciones inherentemente

distribuidas.◦ Por ejemplo: empresa distribuida

geográficamenteCapacidad de crecimiento: Escalabilidad.Fiabilidad y disponibilidad: Tolerancia a

(ciertos) fallos.Carácter abierto y heterogéneo:

◦ Estándares de interoperabilidad.Compartir recursos y datos.

Sistemas Operativos Distribuidos3

Page 4: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

44 /58/58

Desventajas de los Sistemas Desventajas de los Sistemas DistribuidosDistribuidosNecesidad de un nuevo tipo de

software:◦Más complejo.◦No hay todavía un acuerdo sobre cómo

debe ser.Red de interconexión introduce

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

Seguridad y confidencialidadSistemas Operativos Distribuidos

4

Page 5: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

55 /58/58

Arquitectura de Sistemas Arquitectura de Sistemas CentralizadosCentralizadosÚnico computador (caro y de gran

potencia) con terminales alfanuméricos directamente conectados.

Entornos de empresa:◦ Soporte multiusuario◦ Uso de mainframes o minicomputadores

Entornos científicos:◦ Ejecución eficiente de aplicaciones◦ Uso de supercomputadores

Uso ocasional de la red:◦ Transferir ficheros o logins remotos

Interfaz de usuario poco amigable◦ Interfaces gráficas gastan muchos recursos

Sistemas Operativos Distribuidos5

Page 6: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

66 /58/58

Arquitectura de Sistemas Arquitectura de Sistemas DistribuidosDistribuidosConjunto de procesadores conectados

por una redCada usuario tiene capacidad de

procesamiento local que permite interfaces de usuario sofisticadas.

Uso intensivo de la red para compartir recursos:◦ dispositivos◦ datos◦ procesadores (migración de procesos)

Capacidad global de procesamiento disponible para:◦ Servicio a múltiples usuarios◦ Ejecución paralela de una aplicaciónSistemas Operativos Distribuidos

6

Page 7: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

77 /58/58

SoftwareSoftwareSe encuentran tres variantes de

plataformas de software para sistemas distribuidos

◦Sistemas operativos distribuidos◦Sistemas operativos de Red◦Middle-ware

Page 8: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

88 /58/58

Evolución de los Sistemas Evolución de los Sistemas OperativosOperativos

Sistemas Operativos Distribuidos8

Sistema Objetivos

Sistema OperativoCentralizado

Gestión de recursos,“Máquina extendida”,(Virtualidad)

Sistema Operativoen Red

Compartición de recursos,(Interoperabilidad)

Sistema OperativoDistribuido

Vista única de variascomputadoras(Transparencia)

SistemaCooperativa

Trabajo cooperativo,(Autonomía)

Page 9: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

99 /58/58

Capas de un Sistema Capas de un Sistema OperativoOperativoLa visión esquemática de un sistema

operativo comprende los siguientes niveles:

Sistemas Operativos Distribuidos9

• Hardware.• Núcleo (kernel).• Servicios del sistema.• Programas de

aplicación.• Usuarios. Hardware

Kernel

Servicios

Aplicaciones

Usuarios

Page 10: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1010 /58/58

Responsabilidades del Responsabilidades del KernelKernel

Sistemas Operativos Distribuidos10

Kernel

Servicios

m-Kernel

Servicios

Computadora

Computadora

m-Kernel m-Kernel m-Kernel

Servicios

Kernels Monolíticos:Muchas funcionalidades dentro del kernel:planificador, gestión de memoria, drivers,...

m-Kernels:Se sacan funcionalidades del kernel. Sólo quedan: (i) comunicación entre procesos, (ii) administración de memoria, (iii) administración y planificación de bajo nivel y (iv) entrada/salida de bajo nivel

Servicios Distribuidos:Estructura de sistema distribuido. Dependiendodel nivel se habla de: Sistema Operativo Distribuido, Sistema en Red o (Cooperativo).

Page 11: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1111 /58/58

Heterogeneidad de un Heterogeneidad de un Sistema DistribuidoSistema Distribuido

Un sistema distribuido puede estar formado por multitud de elementos conectados por redes LAN o WAN:

◦ Terminales X y Estaciones Java (Network Computer).

◦ PCs y estaciones de trabajo.◦ Sistemas portátiles (redes móviles: GSM, WAP y ...)◦ Minicomputadores.◦ Supercomputadores.◦ Multiprocesadores con memoria compartida o no.◦ Servidores especializados (de almacenamiento, de

impresión, ...).◦ Sistemas empotrados.

Fomentada por los siguientes factores:◦ Extensibilidad de los sistemas distribuidos.◦ Especialización de los servidores.

Sistemas Operativos Distribuidos11

Page 12: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1212 /58/58

Aplicaciones de los Sistemas Aplicaciones de los Sistemas DistribuidosDistribuidos Servicios Internet: correo, noticias, Web, ... nuevos

servicios. Redes corporativas e intranets. Procesamiento paralelo:

◦ Procesamiento masivo (solución a la eficiencia).◦ Topología distribuida (problemas de naturaleza

distribuida) Sistemas distribuidos de gestión de bases de datos y

explotación de los mismos: e.g. Data Warehousing. Aplicaciones multimedia. Sistemas industriales distribuidos y aplicaciones de

control. Sistemas distribuidos de tiempo real. ..... < y muchos más >

Sistemas Operativos Distribuidos12

Page 13: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1313 /58/58

Distribución de los Sistemas Distribución de los Sistemas Operativos Operativos Sistemas operativos para

multiprocesadores con memoria compartida (SMP):◦Software fuertemente acoplado ◦sobre Hardware fuertemente acoplado

Sistema operativo distribuido (SOD):◦Software fuertemente acoplado ◦sobre Hardware débilmente acoplado

Sistema operativo en red:◦Software débilmente acoplado ◦sobre Hardware débilmente acopladoSistemas Operativos Distribuidos

13

Page 14: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1414 /58/58

Sistemas Operativos Sistemas Operativos Distribuidos (SOD)Distribuidos (SOD)

Definición: [Gal00]

Un sistema operativo distribuido es un conjunto de procesadores interconectados por redes que ocultan dicha característica mostrando una visión al usuario de “uniprocesador virtual”.

Características:◦ Ejecuta sobre un sistema distribuido haciendo creer a los

usuarios que se trata de un sistema centralizado.◦ Trasparencia: Debe ocultar factores derivados de la

distribución.◦ Es fácil de decir pero no de hacer.◦ Cada sistema alcanza hasta cierto punto esta meta.◦ Los fracasos pueden generar frustraciones en los

usuarios.

Sistemas Operativos Distribuidos14

Page 15: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1515 /58/58

Sistema operativo distribuido Sistema operativo distribuido (SOD)(SOD)

Se comporta como un SO único (visión única)◦ Distribución. Existe Transparencia

Se construyen normalmente como micronúcleos que ofrecen servicios básicos de comunicación◦ Mach, Amoeba, Chorus.

Todos los computadores deben ejecutar el mismo SOD

Sistem a operativo distribuido

Lenguajes de programación

Aplicaciones

Red de interconexión

Hardware Hardware

Page 16: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1616 /58/58

conceptos y características de conceptos y características de los sistemas operativos los sistemas operativos distribuidosdistribuidos

S.O.D. • Software fuertemente acoplado en hardware débilmente acoplado (en multicomputadoras)

• Parecer que toda la red es un sistema de tiempo compartido (imagen de único sistema).

• Es aquel que se ejecuta en una colección de máquinas enlazadas mediante una red actúan como un uniprocesador virtual.

• Ninguno actualmente cumple con ese requisito

Page 17: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1717 /58/58

Características de un Características de un Sistema DistribuidoSistema DistribuidoDefinición: [Tan95] Un sistema distribuido es una colección de computadoras independientes que aparece ante los usuarios del sistema como una única computadora.

Recursos distribuidos para un trabajo común. N computadoras Un “servicio” único a los usuarios.

Tradicionalmente (1972):◦ Clasificación de Flynn: SISD, SIMD, MISD, MIMDSistemas Operativos Distribuidos

17

Page 18: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1818 /58/58

Características de un Características de un Sistema DistribuidoSistema DistribuidoUn sistema distribuido implica las

siguientes consecuencias:No existe un reloj común: Afecta a

cualquier aspecto de coordinación y mensajes.

Concurrencia global: Los elementos del sistema se ejecutan realmente en paralelo.

Fallos independientes: Los modos de fallo del sistema pueden ser locales a un subconjunto de sus componentes.Sistemas Operativos Distribuidos

18

Page 19: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

1919 /58/58

Características de los SODCaracterísticas de los SOD

Mecanismo de comunicación global entre procesos. Cualquier proceso se puede comunicar con otros local o remoto.

Esquema global de protección. Acceso a listas de control

Misma administración de procesos. (crean, destruyen, inician o detienen los procesos)

La apariencia del sistema de archivos debe ser la misma en todas partes . (por ejemplo, si el nombre del archivo es limitado a 11 caracteres)

Page 20: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2020 /58/58

Sistemas Operativos Sistemas Operativos Distribuidos (SOD)Distribuidos (SOD)Problemática:

◦ Cada nodo tiene su copia del sistema operativo: ¿Qué tareas se realizan localmente y cuáles son globales?

◦ ¿Cómo lograr exclusión mutua sin memoria compartida?

◦ ¿Cómo tratar los interbloqueos sin un estado global?◦ Planificación de procesos: Cada copia del sistema

operativo tiene su cola de planificación (migración de procesos).

◦ ¿Cómo crear un árbol de ficheros único?◦ Implicaciones de la falta de reloj único, la presencia de

fallos o la heterogeneidad.Principal aportación:

◦ Se han desarrollado nuevos conceptos y planteamientos que se han podido trasladar a los otros modelos de sistemas distribuidos.

Sistemas Operativos Distribuidos20

Page 21: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2121 /58/58

Evolución de los SODEvolución de los SOD Primeros SO de red:

◦ Incluir servicios de red en SO convencional◦ Ejemplo: UNIX 4BSD (1980)

Paulatina incorporación de más funcionalidad:◦ ONC de Sun (1985): incluye NFS, RPC, NIS

Primeros SOD:◦ Nuevos SO pero basados en arquitecturas

convencionales (monolíticas)◦ Ejemplo: Sprite de la Universidad de Berkeley

(1988) SOD basados en m-kernel. Ejemplos:

◦ Mach de CMU (1986)◦ Amoeba diseñado por Tanenbaum (1984)◦ Chorus de INRIA en Francia (1988)

Sistemas Operativos Distribuidos21

Page 22: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2222 /58/58

Sistemas Operativos en Sistemas Operativos en RedRedDefinición: [Cho97]

Red de computadoras débilmente acopladas en las que no existe un control externo directo sobre el hardware/software de cada computadora para la compartición de recursos.

Características:◦ No dan la visión de uniprocesador virtual (máquinas

independientes).◦ Cada una ejecuta una copia de sistema operativo

(distinto).◦ Sistema operativo convencional + utilidades de red.◦ Protocolos de comunicación para intercambio de

recursos y acceso a servicios de alto nivel.◦ Desde rcp/rlogin hasta Open Network Computing (ONC)

de Sun.

Sistemas Operativos Distribuidos22

Page 23: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2323 /58/58

Sistemas CooperativosSistemas CooperativosDefinición: [Cho97]

Sistemas software orientados a servicios de alto nivel que requieren el soporte de mecanismos de comunicación en base a los cuales los protocolos de comunicaciones de alto nivel se construyen.

Características:◦ Se mantiene el grado de trasparencia sacrificando la

visión de único sistema. Son sistemas autónomos independientes.

◦ Se construyen en base a middlewares (CORBA, DCE, DCOM, ...)

◦ Los sistemas resultan de la integración de múltiples servicios proporcionados por diferentes elementos de la red.

Sistemas Operativos Distribuidos23

Page 24: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2424 /58/58

MiddlewareMiddlewareMiddleware:

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

Sistemas Operativos Distribuidos24

Hardware

SO

Hardware

SO

Hardware

SO

Middleware

Page 25: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2525 /58/58

Sistema operativo en red Sistema operativo en red (SOR)(SOR)

El usuario ve un conjunto de máquinas independientes◦ No hay transparencia

Se debe acceder de forma explícita a los recursos de otras máquinas

Difíciles de utilizar para desarrollar aplicaciones distribuidas

Sistema operativo

Lenguajes de programación

Aplicaciones

Red de interconexión

Hardware

Sistema operativo

Lenguajes de programación

Aplicaciones

Hardware

Page 26: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2626 /58/58

Sistemas Operativos de Sistemas Operativos de RedRed

Dos o más computadores conectados por red.

Comparten los diferentes recursos y la información del sistema mediante la red.

Novell Netware, Personal Netware,Windows NT Server, UNIX, etc.

Aplicaciones distribuidas

Kernel Kernel Kernel

Red

Máquina A Máquina B Máquina C

Servicios deRed del S.O.

Servicios deRed del S.O.

Servicios deRed del S.O.

Page 27: Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1

2727 /58/58

concepto y características de concepto y características de los sistemas operativos de los sistemas operativos de redesredesSOR. Es aquel en el que cada

máquina tiene un alto grado de autonomía y existen pocos requisitos a lo largo del sistema.

• Software débilmente acoplado en hardware débilmente acoplado

• Ejemplo: estaciones de trabajo conectadas mediante una LAN

• Cada usuario tiene su propia estación de trabajo

• Tiene su propio S.O.