SD S1 PresentacionCurso PDF
SD S1 PresentacionCurso PDF
SD S1 PresentacionCurso PDF
Fuente: Universidad Politécnica de Madrid – Fernando Pérez Costoya / José María Peña Sánchez
Índice del Curso
Índice de Temas
• Introducción y conceptos
• Comunicación en Sistemas Tecnologías
Entornos Distribuidos
distribuidos
Casos de Estudio
•RPC
• Middlewares Orientados a
Mensajes
•CORBA
•DCOM
y
• Middlewares Orientadas a
Servicios: Servicios Web. •Java:
• Otras tecnologías de Sistemas •JNDI
Distribuidos. •RMI
Sistemas Distribuidos
1
Sistemas Distribuidos
Introducción y
Conceptos
Contenidos del Tema
Sistemas Distribuidos
3
Arquitectura de Sistemas Centralizados
Sistemas Distribuidos
5
Nacimiento de los Sistemas Distribuidos
Causas:
• Tecnología de microprocesadores: relación potencia/costo.
• Tecnologías de comunicaciones:
– Protocolos de comunicaciones.
– Redes de área local (LAN): Costo y prestaciones.
– Internet
• Factores comerciales:
– Comercio electrónico: e-comerce.
– Información distribuida (WWW).
– Reducción de costos.
Sistemas Distribuidos
6
Características de un Sistema Distribuido
Definición: [Tan06]
Un Sistema Distribuido es una colección de computadores
independientes que aparece ante los usuarios del sistema como
una único computador.
Tradicionalmente (1972):
– Clasificación de Flynn: SISD, SIMD, MISD, MIMD
Sistemas Distribuidos
7
Características de un Sistema Distribuido
Sistemas Distribuidos
8
Evolución de los Sistemas Operativos
• Hardware. Usuarios
• Núcleo (kernel). Aplicaciones
• Servicios del sistema.
Servicios
• Programas de aplicación.
Kernel
• Usuarios.
Hardware
Sistemas Distribuidos
10
Responsabilidades del Kernel
m-Kernels:
Se sacan funcionalidades del kernel. Sólo quedan: Servicios
(i) comunicación entre procesos, (ii) administración m-Kernel
de memoria, (iii) administración y planificación de
Computadora
bajo nivel y (iv) entrada/salida de bajo nivel
Servicios Distribuidos:
Servicios Estructura de sistema distribuido. Dependiendo
del nivel se habla de: Sistema Operativo
m-Kernel m-Kernel m-Kernel
Distribuido, Sistema en Red o (Cooperativo).
Sistemas Distribuidos
11
Heterogeneidad de un Sistema Distribuido
Sistemas Distribuidos
14
Aplicaciones de los Sistemas Distribuidos
Sistemas Distribuidos
16
Sistemas Operativos para SMPs
Características:
– “Ligeras” variaciones sobre versiones tradicionales.
– Sólo hay una copia del sistema operativo.
– Concurrencia se traduce en paralelismo real ( tiempo compartido).
– Comercialmente aceptados (Linux, WinNT, Solaris, AIX, ...).
– Plantea retos para: la ejecución del núcleo en varios procesadores
(llamadas al sistema concurrentes) , los mecanismos de
sincronización (spin-locks), optimización y planificación (afinidad al
procesador), ...
Sistemas Distribuidos
17
Sistemas Operativos 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 Distribuidos
18
Sistemas Operativos 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 Distribuidos
19
Evolució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 Distribuidos
20
Sistemas Operativos en Red
Definició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 Distribuidos
21
Sistemas Cooperativos
Definició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 Distribuidos
22
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
Sistemas Distribuidos
23
Objetivos de un Sistema Distribuido
Sistemas Distribuidos
24
Transparencia
Sistemas Distribuidos
25
Fiabilidad
Sistemas Distribuidos
26
Rendimiento
Factores:
– Mayor número de procesadores
– Elementos críticos:
• Especialmente la red: Latencia de la comunicación, uso de caches, ...
– Grano de paralelismo (relación proceso/comunicación).
– Replicación de elementos/tareas.
– Equilibrado de carga.
Sistemas Distribuidos
27
Capacidad de Crecimiento
Sistemas Distribuidos
28
Flexibilidad
Definición de responsabilidades:
– Sistemas con m-kernel:
• Comunicación entre procesos.
• Cierta administración de memoria.
• Administración y planificación de procesos (limitada y de bajo nivel).
• Entrada/salida de bajo nivel.
Sistemas Distribuidos
29
Flexibilidad
Sistemas Distribuidos
30
Componentes de un Sistema Distribuido
Sistemas Distribuidos
32