Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccion 6pp PDF
Introduccion 6pp PDF
Referencias Básicas
Entornos Distribuidos
distribuidos
Casos de Estudio
• Distributed Operating Systems & Algorithms •CORBA
• Sistemas de ficheros distribuidos
R. Chow, T. Johnson y servicios de directorio.
•DCOM
Addison-Wesley, 1997 •DCE
y
• Sincronización y coordinación
• Sistemas de memoria distribuida •Java:
•Jini
Traducción al Castellano • Gestión de procesos
•RMI
• Sistemas Operativos Distribuidos • Seguridad en sistemas •EJB
distribuidos
A. S. Tanenbaum
Prentice-Hall, 1996
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
2 José María Peña Sánchez 3 José María Peña Sánchez
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
4 José María Peña Sánchez 5 José María Peña Sánchez
1 - Introducción 1
Sistemas Operativos Distribuidos
• Único computador (caro y de gran potencia) con terminales • Conjunto de procesadores conectados por una red
alfanuméricos directamente conectados. • Cada usuario tiene capacidad de procesamiento local que
• Entornos de empresa: permite interfaces de usuario sofisticadas.
– Soporte multiusuario • Uso intensivo de la red para compartir recursos:
– Uso de mainframes o minicomputadores – dispositivos
• Entornos científicos: – datos
– Ejecución eficiente de aplicaciones – procesadores (migración de procesos)
– Uso de supercomputadores • Capacidad global de procesamiento disponible para:
• Uso ocasional de la red: – Servicio a múltiples usuarios
– Transferir ficheros o logins remotos – Ejecución paralela de una aplicación
• Interfaz de usuario poco amigable
– Interfaces gráficas gastan muchos recursos
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
8 José María Peña Sánchez 9 José María Peña Sánchez
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
10 José María Peña Sánchez 11 José María Peña Sánchez
1 - Introducción 2
Sistemas Operativos Distribuidos
Un sistema distribuido implica las siguientes consecuencias: • Sistemas Operativos Sistema Objetivos
• No existe un reloj común: Afecta a cualquier aspecto de Centralizados. Sistema Operativo
Gestión de recursos,
“Máquina extendida”,
coordinación y mensajes. Centralizado
(Virtualidad)
• Concurrencia global: Los elementos del sistema se ejecutan • Sistemas Operativos
realmente en paralelo. en Red Sistema Operativo Compartición de recursos,
en Red (Interoperabilidad)
• Fallos independientes: Los modos de fallo del sistema
pueden ser locales a un subconjunto de sus componentes. • Sistemas Operativos Sistema Operativo
Vista única de varias
computadoras
Distribuidos Distribuido
(Transparencia)
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
14 José María Peña Sánchez 15 José María Peña Sánchez
Heterogeneidad de un Sistema
Ventajas de los Sistemas Distribuidos
Distribuido
Un sistema distribuido puede estar formado por multitud de • Economía: Buena relación rendimiento/coste
elementos conectados por redes LAN o WAN: – Ley de Grosch (obsoleta):
– Terminales X y Estaciones Java (Network Computer). Prestaciones = cte x (Precio)2
– PCs y estaciones de trabajo. • Alto rendimiento: Procesamiento paralelo.
– Sistemas portátiles (redes móviles: GSM, WAP y ...) • Soporte de aplicaciones inherentemente distribuidas.
– Minicomputadores.
– Por ejemplo: empresa distribuida geográficamente
– Supercomputadores.
– Multiprocesadores con memoria compartida o no. • Capacidad de crecimiento: Escalabilidad.
– Servidores especializados (de almacenamiento, de impresión, ...). • Fiabilidad y disponibilidad: Tolerancia a (ciertos) fallos.
– Sistemas empotrados.
• Carácter abierto y heterogéneo:
Fomentada por los siguientes factores: – Estándares de interoperabilidad.
– Extensibilidad de los sistemas distribuidos.
• Compartir recursos y datos.
– Especialización de los servidores.
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
16 José María Peña Sánchez 17 José María Peña Sánchez
1 - Introducción 3
Sistemas Operativos Distribuidos
• Necesidad de un nuevo tipo de software: • Servicios Internet: correo, noticias, Web, ... nuevos servicios.
– Más complejo. • Redes corporativas e intranets.
– No hay todavía un acuerdo sobre cómo debe ser.
• Procesamiento paralelo:
• Red de interconexión introduce nuevos problemas: – Procesamiento masivo (solución a la eficiencia).
– Pérdida de mensajes y saturación. – Topología distribuida (problemas de naturaleza distribuida)
– Latencia puede provocar que al recibir un dato ya esté obsoleto.
– La red es un elemento crítico. • Sistemas distribuidos de gestión de bases de datos y
explotación de los mismos: e.g. Data Warehousing.
• Seguridad y confidencialidad
• Aplicaciones multimedia.
• Sistemas industriales distribuidos y aplicaciones de control.
• Sistemas distribuidos de tiempo real.
• ..... < y muchos más >
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
18 José María Peña Sánchez 19 José María Peña Sánchez
• Sistemas operativos para multiprocesadores con memoria Arquitecturas de varios procesadores (2 a 8) con memoria
compartida (SMP): compartida de acceso uniforme (SMP: Simetric Multiprocesors)
– Software fuertemente acoplado
– sobre Hardware fuertemente acoplado
Características:
• Sistema operativo distribuido (SOD): – “Ligeras” variaciones sobre versiones tradicionales.
– Software fuertemente acoplado – Sólo hay una copia del sistema operativo.
– sobre Hardware débilmente acoplado – Concurrencia se traduce en paralelismo real (≠ tiempo compartido).
• Sistema operativo en red: – Comercialmente aceptados (Linux, WinNT, Solaris, AIX, ...).
– Software débilmente acoplado – Plantea retos para: la ejecución del núcleo en varios procesadores
– sobre Hardware débilmente acoplado (llamadas al sistema concurrentes) , los mecanismos de
sincronización (spin-locks), optimización y planificación (afinidad al
procesador), ...
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
20 José María Peña Sánchez 21 José María Peña Sánchez
1 - Introducción 4
Sistemas Operativos Distribuidos
En general el desarrollo de sistemas distribuidos intenta poner Existen varios perfiles de trasparencia:
solución a los siguientes objetivos: – Acceso: Manera de acceder a recurso local igual que a remoto.
– Transparencia. – Posición: Se accede a los recursos sin conocer su localización.
– Fiabilidad. – Migración: Recursos pueden migrar sin afectar a los usuarios.
– Rendimiento. – Concurrencia: Acceso concurrente no afecta a los usuarios.
– Capacidad de crecimiento. – Replicación: La existencia de réplicas no afecta a los usuarios.
– Flexibilidad. – Fallos: La ocurrencia de fallos no afecta a los usuarios.
– Seguridad. – Crecimiento: El crecimiento del sistema no afecta a los usuarios.
– Heterogeneidad:Carácter heterogéneo no afecta a los usuarios.
Sistemas operativos distribuidos, sistemas en red y sistemas
cooperativos requieren diferentes facetas de estos objetivos. ¿Es buena tanta transparencia?
– A veces el usuario precisa conocer cómo es el sistema subyacente
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
28 José María Peña Sánchez 29 José María Peña Sánchez
1 - Introducción 5
Sistemas Operativos Distribuidos
Fiabilidad Rendimiento
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
30 José María Peña Sánchez 31 José María Peña Sánchez
Diseño de un sistema distribuido debe evitar “cuellos de botella”: Capacidad para ampliarlo o extenderlo con nuevas
– Componentes centralizados funcionalidades de forma sencilla.
– Tablas centralizadas
– Algoritmos centralizados
Definición de responsabilidades:
– Sistemas con µ-kernel:
Problemática agravada por el número de elementos: • Comunicación entre procesos.
– Ninguna máquina tiene información completa del estado del sistema • Cierta administración de memoria.
– Las decisiones se basan sólo en información disponible localmente • Administración y planificación de procesos (limitada y de bajo nivel).
– El fallo de una máquina no debe invalidar el algoritmo • Entrada/salida de bajo nivel.
– No debe asumir la existencia de un reloj global
– El resto, servicios a nivel de usuario.
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
32 José María Peña Sánchez 33 José María Peña Sánchez
Un elemento fundamental de la flexibilidad son los sistemas El desarrollo de un sistema distribuido complejo requiere el uso
abiertos. de las siguientes funciones y servicios:
– Servicios de comunicación.
– Sistemas de ficheros y nombrado distribuido.
El desarrollo de estos sistemas requiere: – Servicios de sincronización y coordinación.
– Sus interfaces y protocolos deberían ser públicos. – Memoria compartida distribuida.
– Contrario a ”tecnología propietaria”. – Gestión de procesos.
– Uso de estándares siempre que sea posible. – Servicio de seguridad.
– Disponibilidad de su código fuente (libremente o no).
– Regulación por parte de un colectivo (usuarios u organizaciones) y
no por particulares (fabricantes). Estas funcionalidades se plasman en elementos concretos del
sistema: componentes, protocolos, algoritmos, soporte
hardware/software, ...
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
34 José María Peña Sánchez 35 José María Peña Sánchez
1 - Introducción 6
Sistemas Operativos Distribuidos
Servicios de Sincronización y
Memoria Compartida Distribuida (DSM)
Coordinación
Comprende los conceptos de: Hardware:
– Tiempo en entornos distribuidos: Sincronización de relojes y relojes – Memoria físicamente compartida.
lógicos. – Memoria distribuida (lógicamente compartida).
– Concurrencia y Paralelismo: Exclusión mutua e interbloqueos. – Acceso uniforme vs acceso no uniforme.
– Algoritmos distribuidos: Elección de líder, coordinación, ...
– Transacciones: Propiedades ACID, modelos de commit/rollback.
Distributed Shared Memory:
– Basada en páginas.
Afecta a otros servicios: – Basada en variables compartidas.
– Nombrado e identificación. – Basada en objetos.
– Seguridad y fiabilidad.
– Comunicaciones.
– ... Modelos de consistencia
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
38 José María Peña Sánchez 39 José María Peña Sánchez
1 - Introducción 7
Sistemas Operativos Distribuidos
La asignatura tiene dos partes: • Objetivo de la notación: No atar ninguna solución a una
– Parte de la asignatura dependiente de “ciertas“ tecnologías: tecnología concreta.
• API de sockets.
• RPCs.
• CORBA. • Notaciones y formalismos usados:
• DCOM. – Pseudocódigo: Algoritmos y ejemplos.
• Java: RMI, EJB y Jini. – Objetos: Escenarios de interacción, patrones distribuidos.
– Parte de la asignatura independiente de tecnologías: – Formalismos matemáticos: Seguridad, sincronización.
• Conceptos. – Metodologías y arquitecturas: Nomenclatura y semántica.
• Técnicas.
• Algoritmos.
• Estrategias de diseño. • Se optará por el más apropiado en cada caso.
• No debe ser un impedimento para entender el concepto.
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
42 José María Peña Sánchez 43 José María Peña Sánchez
Sistemas Operativos Distribuidos Fernando Pérez Costoya Sistemas Operativos Distribuidos Fernando Pérez Costoya
44 José María Peña Sánchez 45 José María Peña Sánchez
1 - Introducción 8