Fundamentos y Elementos de Diseño de Los Sistemas Distribuidos_parte1_1
-
Upload
galo-salinas -
Category
Documents
-
view
5 -
download
0
Transcript of 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)
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
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
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
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
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
77 /58/58
SoftwareSoftwareSe encuentran tres variantes de
plataformas de software para sistemas distribuidos
◦Sistemas operativos distribuidos◦Sistemas operativos de Red◦Middle-ware
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)
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
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).
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
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
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
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
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
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
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
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
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)
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
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
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
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
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
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
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.
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.