SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Sistemas Operativos Distribuidos

Luis Alberto Yallerco Q.
Arquitectura de Sistemas
Centralizados
• Ú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
Arquitectura de Sistemas
Distribuidos
• Conjunto de procesadores conectados por una red
• Cada 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ón
Nacimiento de los Sistemas
Distribuidos
Causas:

• 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.
Características de un Sistema
Distribuido
Definición:
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, MIMD
Características de un Sistema
Distribuido
Un 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.
Evolución de los Sistemas
Operativos
Objetivos
Gestión de recursos,
Sistema Operativo
“Máquina extendida”,
Centralizado
(Virtualidad)
Sistema

Sistema Operativo Compartición de recursos,
(Interoperabilidad)
en Red
Vista única de varias
Sistema Operativo
computadoras
Distribuido
(Transparencia)
Sistema
Cooperativa

Trabajo cooperativo,
(Autonomía)
Capas de un Sistema Operativo
La visión esquemática de un
sistema operativo comprende
los siguientes niveles:

Usuarios
Aplicaciones
Servicios
Kernel
Hardware
Responsabilidades del Kernel
Kernels Monolíticos:
Muchas funcionalidades dentro del kernel:
planificador, gestión de memoria, drivers,...

Servicios
Kernel
Computadora

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
m Kernel
-

m Kernel
-

m Kernel
-

Servicios
m Kernel
Computadora

Servicios Distribuidos:
Estructura de sistema distribuido. Dependiendo
del nivel se habla de: Sistema Operativo
Distribuido, Sistema en Red o (Cooperativo).
Heterogeneidad de un Sistema
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.
Ventajas de los Sistemas Distribuidos
• Economí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áficamente

• Capacidad de crecimiento: Escalabilidad.
• Fiabilidad y disponibilidad: Tolerancia a (ciertos) fallos.
• Carácter abierto y heterogéneo:
•

Estándares de interoperabilidad.

• Compartir recursos y datos.
Desventajas de los Sistemas
Distribuidos
• Necesidad 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 confidencialidad
Aplicaciones de los Sistemas
Distribuidos
• 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.
Distribución de los Sistemas
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 acoplado
Sistemas Operativos para SMPs
Arquitecturas de varios procesadores (2 a 8) con memoria
compartida de acceso uniforme (SMP: Simetric Multiprocesors)
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 Operativos Distribuidos
(SOD)
Definición:
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 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.
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 Operativos en Red
Definición:
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 Cooperativos
Definición:
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.
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

Hardware

Hardware

Hardware
Objetivos de un Sistema Distribuido
En general el desarrollo de sistemas distribuidos intenta poner
solución a los siguientes objetivos:
• Transparencia.
• Fiabilidad.
• Rendimiento.
• Capacidad de crecimiento.
• Flexibilidad.
• Seguridad.
Sistemas operativos distribuidos, sistemas en red y sistemas
cooperativos requieren diferentes facetas de estos objetivos.
Transparencia
Existen varios perfiles de trasparencia:
•
•
•
•
•
•
•
•

Acceso: Manera de acceder a recurso local igual que a remoto.
Posición: Se accede a los recursos sin conocer su localización.
Migración: Recursos pueden migrar sin afectar a los usuarios.
Concurrencia: Acceso concurrente no afecta a los usuarios.
Replicación: La existencia de réplicas no afecta a los usuarios.
Fallos: La ocurrencia de fallos no afecta a los usuarios.
Crecimiento: El crecimiento del sistema no afecta a los usuarios.
Heterogeneidad:Carácter heterogéneo no afecta a los usuarios.

¿Es buena tanta transparencia?
•

A veces el usuario precisa conocer cómo es el sistema subyacente
Fiabilidad
Fiabilidad como disponibilidad:
• Teóricamente: OR-lógico de sus componentes.
• En ciertos casos: AND-lógico de varios componentes.
• Mecanismos: redundancia y evitar componentes críticos.
• Tolerancia a fallos: Los componuentes pueden no caerse pero
funcionan de forma errónea.

Fiabilidad como coherencia:
• Se dificulta con la redundancia: inconsistencias
La fiabilidad está relacionada con la seguridad (otro objetivo).
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:
•
•

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.
Capacidad de Crecimiento
Diseño de un sistema distribuido debe evitar “cuellos de botella”:
• Componentes centralizados
• Tablas centralizadas
• Algoritmos centralizados
Problemática agravada por el número de elementos:
• Ninguna máquina tiene información completa del estado del sistema
• Las decisiones se basan sólo en información disponible localmente
• El fallo de una máquina no debe invalidar el algoritmo
• No debe asumir la existencia de un reloj global
Flexibilidad
Capacidad para ampliarlo o extenderlo con nuevas funcionalidades de
forma sencilla.
Definición de responsabilidades:
• Sistemas con µ-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.

• El resto, servicios a nivel de usuario.
Flexibilidad
Un elemento fundamental de la flexibilidad son los sistemas
abiertos.
El desarrollo de estos sistemas requiere:
• Sus interfaces y protocolos deberían ser públicos.
• Contrario a ”tecnología propietaria”.
• Uso de estándares siempre que sea posible.
• Disponibilidad de su código fuente (libremente o no).
• Regulación por parte de un colectivo (usuarios u organizaciones) y no
por particulares (fabricantes).
Componentes de un Sistema
Distribuido
El desarrollo de un sistema distribuido complejo requiere el uso de las
siguientes funciones y servicios:
• Servicios de comunicación.
• Sistemas de ficheros y nombrado distribuido.
• Servicios de sincronización y coordinación.
• Memoria compartida distribuida.
• Gestión de procesos.
• Servicio de seguridad.
Estas funcionalidades se plasman en elementos concretos del sistema:
componentes, protocolos, algoritmos, soporte hardware/software, ...
Servicios de Comunicación
• Modelos de interacción:
•
•
•
•
•
•

Cliente/servidor: (2-niveles, 3-niveles o n-niveles)
Peer-to-peer: Equilibrio de roles.
Intermediarios: Proxy, Dispacher, Caches, ...
Unicast vs Multicast
Fiabilidad.
Síncronos vs Asíncronos

• Tecnologías de comunicación:
•
•
•
•

Paso de mensajes: Berkeley sockets.
Llamada a procedimientos remotos: RPC.
Tecnologías de objetos distribuidos: CORBA, DCOM, EJB
Código móvil: Entornos de agentes.
Sistemas de Ficheros Distribuidos
Identificación, localización y acceso a elementos del entorno distribuido.
Comprende:
•
•
•

Sistemas de ficheros distribuidos (SFD): NFS, AFS.
Servicios de nombres: DNS, COS-Naming (CORBA).
Servicios de directorio: X.500, LDAP, JNDI.

Cuestiones:
•
•
•

Arquitectura de los servicios.
Almacenamiento intermedio: caching.
Replicación y coherencia.
Servicios de Sincronización y
Coordinación
Comprende los conceptos de:
• Tiempo en entornos distribuidos: Sincronización de relojes y relojes
lógicos.

• Concurrencia y Paralelismo: Exclusión mutua e interbloqueos.
• Algoritmos distribuidos: Elección de líder, coordinación, ...
• Transacciones: Propiedades ACID, modelos de commit/rollback.

Afecta a otros servicios:
• Nombrado e identificación.
• Seguridad y fiabilidad.
• Comunicaciones.
Memoria Compartida Distribuida
(DSM)
Hardware:
• Memoria físicamente compartida.
• Memoria distribuida (lógicamente compartida).
• Acceso uniforme vs acceso no uniforme.
Distributed Shared Memory:
• Basada en páginas.
• Basada en variables compartidas.
• Basada en objetos.
Modelos de consistencia
Gestión de Procesos
• Taxonomía de los procesos:
• Niveles de granularidad.
• Congelación de procesos (persistencia).
• Migración de procesos (estado/código).

• Planificación de procesos:
•
•
•
•

Planificación interna: Procesos y threads.
Planificación global.
Migración y equilibrado de carga.
Aprovechamiento de máquinas inactivas.
Servicio de Seguridad
Tipología de los ataques:
• Privacidad y confidencialidad.
• Autenticación (spoofing).
• Denegación de servicio.
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 seguros: e.g. Kerberos.
Notación
La asignatura tiene dos partes:
•

Parte de la asignatura dependiente de “ciertas“ tecnologías:

•
•
•
•
•

•

API de sockets.
RPCs.
CORBA.
DCOM.
Java: RMI, EJB y Jini.

Parte de la asignatura independiente de tecnologías:

•
•
•
•

Conceptos.
Técnicas.
Algoritmos.
Estrategias de diseño.
Notación y Formalismos
• Objetivo de la notación: No atar ninguna solución a una tecnología
concreta.

• Notaciones y formalismos usados:
•
•
•
•

Pseudocódigo: Algoritmos y ejemplos.
Objetos: Escenarios de interacción, patrones distribuidos.
Formalismos matemáticos: Seguridad, sincronización.
Metodologías y arquitecturas: Nomenclatura y semántica.

• Se optará por el más apropiado en cada caso.
• No debe ser un impedimento para entender el concepto.
Sistemas Operativos Distribuidos

Gracias
por su atención…
Yallerco

Más contenido relacionado

La actualidad más candente

Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosValentina
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasUniminuto - San Francisco
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSdfgdfgs
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionJorge Guerra
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasYESENIA CETINA
 
Modelado clasico prototipo
Modelado clasico prototipoModelado clasico prototipo
Modelado clasico prototipoVictor Hugo
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windowsomfib123
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Direccion ip
Direccion ipDireccion ip
Direccion ipelizabeth
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasJuan Anaya
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
1.2.Funciones y Caracteristicas de los Sistemas Operativos
1.2.Funciones y Caracteristicas de los Sistemas Operativos1.2.Funciones y Caracteristicas de los Sistemas Operativos
1.2.Funciones y Caracteristicas de los Sistemas OperativosDianaledezma94
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0luimiguelandrade
 

La actualidad más candente (20)

Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Sistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de SistemasSistemas críticos - Ingeniería de Sistemas
Sistemas críticos - Ingeniería de Sistemas
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
HISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOSHISTORIA DE LAS BASES DE DATOS
HISTORIA DE LAS BASES DE DATOS
 
Sistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e ImplementacionSistemas Distribuidos. Diseño e Implementacion
Sistemas Distribuidos. Diseño e Implementacion
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Modelado clasico prototipo
Modelado clasico prototipoModelado clasico prototipo
Modelado clasico prototipo
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
Inv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrenciasInv 1 algoritmos de control de concurrencias
Inv 1 algoritmos de control de concurrencias
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
1.2.Funciones y Caracteristicas de los Sistemas Operativos
1.2.Funciones y Caracteristicas de los Sistemas Operativos1.2.Funciones y Caracteristicas de los Sistemas Operativos
1.2.Funciones y Caracteristicas de los Sistemas Operativos
 
1. Definiciones básicas (Intro)
1. Definiciones básicas (Intro)1. Definiciones básicas (Intro)
1. Definiciones básicas (Intro)
 
Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0Doc. lista de requerimientos ver. 1.0
Doc. lista de requerimientos ver. 1.0
 

Destacado

Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosJorge Guerra
 
Sistemas Distribuidos
Sistemas  DistribuidosSistemas  Distribuidos
Sistemas Distribuidossantiago
 
Sistemas distribuidos-la-comunicacion
Sistemas distribuidos-la-comunicacionSistemas distribuidos-la-comunicacion
Sistemas distribuidos-la-comunicacionGabriel Farfan Molina
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidoscarlos7489
 
Gestores de descarga
Gestores de descargaGestores de descarga
Gestores de descargayanciflorez
 
Procesos - Sistemas Operativos
Procesos - Sistemas OperativosProcesos - Sistemas Operativos
Procesos - Sistemas Operativosrichardstalin
 
Comunicacion entre procesos SSDD
Comunicacion entre procesos SSDDComunicacion entre procesos SSDD
Comunicacion entre procesos SSDDJorge Guerra
 
Diapositivas de las capas del modelo osi.
Diapositivas de  las capas del modelo osi.Diapositivas de  las capas del modelo osi.
Diapositivas de las capas del modelo osi.Elia Archibold
 
Diapositivas modelo osi
Diapositivas modelo osiDiapositivas modelo osi
Diapositivas modelo osicarito6626
 
Presentacion modelo osi
Presentacion modelo osiPresentacion modelo osi
Presentacion modelo osielyoarabia
 
Diapositiva Modelo Osi
Diapositiva Modelo OsiDiapositiva Modelo Osi
Diapositiva Modelo OsiMEKY04
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosJorge Guerra
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSIComdat4
 
Modelo OSI capa de Red
Modelo OSI capa de RedModelo OSI capa de Red
Modelo OSI capa de RedCarlos Estrada
 

Destacado (18)

Caracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas DistribuidosCaracteristicas de los Sistemas Distribuidos
Caracteristicas de los Sistemas Distribuidos
 
Sistemas Distribuidos
Sistemas  DistribuidosSistemas  Distribuidos
Sistemas Distribuidos
 
Sistemas distribuidos-la-comunicacion
Sistemas distribuidos-la-comunicacionSistemas distribuidos-la-comunicacion
Sistemas distribuidos-la-comunicacion
 
sistemas distribuidos
sistemas distribuidossistemas distribuidos
sistemas distribuidos
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Gestores de descarga
Gestores de descargaGestores de descarga
Gestores de descarga
 
Gestores de descarga
Gestores de descargaGestores de descarga
Gestores de descarga
 
Procesos - Sistemas Operativos
Procesos - Sistemas OperativosProcesos - Sistemas Operativos
Procesos - Sistemas Operativos
 
Comunicacion entre procesos SSDD
Comunicacion entre procesos SSDDComunicacion entre procesos SSDD
Comunicacion entre procesos SSDD
 
Diapositivas de las capas del modelo osi.
Diapositivas de  las capas del modelo osi.Diapositivas de  las capas del modelo osi.
Diapositivas de las capas del modelo osi.
 
Diapositivas modelo osi
Diapositivas modelo osiDiapositivas modelo osi
Diapositivas modelo osi
 
Presentacion modelo osi
Presentacion modelo osiPresentacion modelo osi
Presentacion modelo osi
 
Diapositiva Modelo Osi
Diapositiva Modelo OsiDiapositiva Modelo Osi
Diapositiva Modelo Osi
 
Definiciones Sistemas Distribuidos
Definiciones Sistemas DistribuidosDefiniciones Sistemas Distribuidos
Definiciones Sistemas Distribuidos
 
Diapositiva De Osi
Diapositiva De OsiDiapositiva De Osi
Diapositiva De Osi
 
Modelo OSI
Modelo OSIModelo OSI
Modelo OSI
 
Modelo OSI capa de Red
Modelo OSI capa de RedModelo OSI capa de Red
Modelo OSI capa de Red
 
Modelo Osi
Modelo OsiModelo Osi
Modelo Osi
 

Similar a Sistemas operativos distribuidos

Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2annyshey
 
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.A6M0
 
UNIDAD 1 TEMA 1 .pptx
UNIDAD 1 TEMA 1 .pptxUNIDAD 1 TEMA 1 .pptx
UNIDAD 1 TEMA 1 .pptxItatyVivar1
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidosTensor
 
Portafolio de so en pdf
Portafolio de so en pdfPortafolio de so en pdf
Portafolio de so en pdfNel Marquez
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsslipkdany21
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidosJavierialv
 
Sistemas centralizados resume
Sistemas centralizados resumeSistemas centralizados resume
Sistemas centralizados resumeveronica tenelema
 
Sistema operativos para red
Sistema operativos para redSistema operativos para red
Sistema operativos para redNin Bordon
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos DistribuidosVectorinox01
 
Victor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor Milano
 

Similar a Sistemas operativos distribuidos (20)

Sd contecsi
Sd contecsiSd contecsi
Sd contecsi
 
sistemas distribudos Semana 1
sistemas distribudos Semana 1sistemas distribudos Semana 1
sistemas distribudos Semana 1
 
7 introsd
7 introsd7 introsd
7 introsd
 
Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2Apuntes de-sistemas-operativos-ii-e2
Apuntes de-sistemas-operativos-ii-e2
 
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
Unidad 1 Sistemas Operativos en Ambientes Distribuidos.
 
UNIDAD 1 TEMA 1 .pptx
UNIDAD 1 TEMA 1 .pptxUNIDAD 1 TEMA 1 .pptx
UNIDAD 1 TEMA 1 .pptx
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Portafolio de so en pdf
Portafolio de so en pdfPortafolio de so en pdf
Portafolio de so en pdf
 
Base expo
Base expoBase expo
Base expo
 
Redes distribuidas
Redes distribuidasRedes distribuidas
Redes distribuidas
 
Arquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windowsArquitectura y caracteristicas de los sistemas operativos windows
Arquitectura y caracteristicas de los sistemas operativos windows
 
Seguridad de sistemas distribuidos
Seguridad de sistemas distribuidosSeguridad de sistemas distribuidos
Seguridad de sistemas distribuidos
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
Sistemas operativos de red
Sistemas operativos de redSistemas operativos de red
Sistemas operativos de red
 
Sistemas centralizados resume
Sistemas centralizados resumeSistemas centralizados resume
Sistemas centralizados resume
 
Sistema operativos para red
Sistema operativos para redSistema operativos para red
Sistema operativos para red
 
Libro so
Libro soLibro so
Libro so
 
Sistemas Operativos Distribuidos
Sistemas Operativos DistribuidosSistemas Operativos Distribuidos
Sistemas Operativos Distribuidos
 
Victor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidosVictor milano sistema operativos distribuidos
Victor milano sistema operativos distribuidos
 

Más de Luis Yallerco

Tecnicas mic pdh sdh
Tecnicas mic pdh sdhTecnicas mic pdh sdh
Tecnicas mic pdh sdhLuis Yallerco
 
Plataformas de gestion de red
Plataformas de gestion de redPlataformas de gestion de red
Plataformas de gestion de redLuis Yallerco
 
Gestion de redes de comunicaciones moviles
Gestion de redes de comunicaciones movilesGestion de redes de comunicaciones moviles
Gestion de redes de comunicaciones movilesLuis Yallerco
 
Gestión en internet
Gestión en internetGestión en internet
Gestión en internetLuis Yallerco
 
Gestión basada en web
Gestión basada en webGestión basada en web
Gestión basada en webLuis Yallerco
 
Atm (Asynchronous Transfer Mode)
Atm (Asynchronous Transfer Mode)Atm (Asynchronous Transfer Mode)
Atm (Asynchronous Transfer Mode)Luis Yallerco
 
Distribucion de probabilidad normal estandar
Distribucion de probabilidad normal estandarDistribucion de probabilidad normal estandar
Distribucion de probabilidad normal estandarLuis Yallerco
 
Como aplicar el factor de correccion
Como aplicar el factor de correccionComo aplicar el factor de correccion
Como aplicar el factor de correccionLuis Yallerco
 
Calculo del area area bajo la curva normal
Calculo del area area bajo la curva normalCalculo del area area bajo la curva normal
Calculo del area area bajo la curva normalLuis Yallerco
 
Aproximación normal a la binomial
Aproximación normal a la binomialAproximación normal a la binomial
Aproximación normal a la binomialLuis Yallerco
 
Organismos internacionales
Organismos internacionalesOrganismos internacionales
Organismos internacionalesLuis Yallerco
 
Opsitel y los servicios de telecomunicaciones
Opsitel y los servicios de telecomunicacionesOpsitel y los servicios de telecomunicaciones
Opsitel y los servicios de telecomunicacionesLuis Yallerco
 
Normatividad de interconexion de redes
Normatividad de interconexion de redesNormatividad de interconexion de redes
Normatividad de interconexion de redesLuis Yallerco
 
Marco tecnico legal de las telecomunicaciones
Marco tecnico legal de las telecomunicacionesMarco tecnico legal de las telecomunicaciones
Marco tecnico legal de las telecomunicacionesLuis Yallerco
 
Liberalizacion y privatizacion de redes
Liberalizacion y privatizacion de redesLiberalizacion y privatizacion de redes
Liberalizacion y privatizacion de redesLuis Yallerco
 
Historia evolucion de las telecomunicaciones en el mundo
Historia evolucion de las telecomunicaciones en el mundoHistoria evolucion de las telecomunicaciones en el mundo
Historia evolucion de las telecomunicaciones en el mundoLuis Yallerco
 
Evolucion de las telecomunicaciones en el peru
Evolucion de las telecomunicaciones en el peruEvolucion de las telecomunicaciones en el peru
Evolucion de las telecomunicaciones en el peruLuis Yallerco
 
Algunas definiciones y conceptos en telecomunicaciones
Algunas definiciones y conceptos en telecomunicacionesAlgunas definiciones y conceptos en telecomunicaciones
Algunas definiciones y conceptos en telecomunicacionesLuis Yallerco
 
Propagación de ondas electromagnéticas en medios conductores
Propagación de ondas electromagnéticas en medios conductoresPropagación de ondas electromagnéticas en medios conductores
Propagación de ondas electromagnéticas en medios conductoresLuis Yallerco
 

Más de Luis Yallerco (20)

Tecnicas mic pdh sdh
Tecnicas mic pdh sdhTecnicas mic pdh sdh
Tecnicas mic pdh sdh
 
Ssc7 ok
Ssc7 okSsc7 ok
Ssc7 ok
 
Plataformas de gestion de red
Plataformas de gestion de redPlataformas de gestion de red
Plataformas de gestion de red
 
Gestion de redes de comunicaciones moviles
Gestion de redes de comunicaciones movilesGestion de redes de comunicaciones moviles
Gestion de redes de comunicaciones moviles
 
Gestión en internet
Gestión en internetGestión en internet
Gestión en internet
 
Gestión basada en web
Gestión basada en webGestión basada en web
Gestión basada en web
 
Atm (Asynchronous Transfer Mode)
Atm (Asynchronous Transfer Mode)Atm (Asynchronous Transfer Mode)
Atm (Asynchronous Transfer Mode)
 
Distribucion de probabilidad normal estandar
Distribucion de probabilidad normal estandarDistribucion de probabilidad normal estandar
Distribucion de probabilidad normal estandar
 
Como aplicar el factor de correccion
Como aplicar el factor de correccionComo aplicar el factor de correccion
Como aplicar el factor de correccion
 
Calculo del area area bajo la curva normal
Calculo del area area bajo la curva normalCalculo del area area bajo la curva normal
Calculo del area area bajo la curva normal
 
Aproximación normal a la binomial
Aproximación normal a la binomialAproximación normal a la binomial
Aproximación normal a la binomial
 
Organismos internacionales
Organismos internacionalesOrganismos internacionales
Organismos internacionales
 
Opsitel y los servicios de telecomunicaciones
Opsitel y los servicios de telecomunicacionesOpsitel y los servicios de telecomunicaciones
Opsitel y los servicios de telecomunicaciones
 
Normatividad de interconexion de redes
Normatividad de interconexion de redesNormatividad de interconexion de redes
Normatividad de interconexion de redes
 
Marco tecnico legal de las telecomunicaciones
Marco tecnico legal de las telecomunicacionesMarco tecnico legal de las telecomunicaciones
Marco tecnico legal de las telecomunicaciones
 
Liberalizacion y privatizacion de redes
Liberalizacion y privatizacion de redesLiberalizacion y privatizacion de redes
Liberalizacion y privatizacion de redes
 
Historia evolucion de las telecomunicaciones en el mundo
Historia evolucion de las telecomunicaciones en el mundoHistoria evolucion de las telecomunicaciones en el mundo
Historia evolucion de las telecomunicaciones en el mundo
 
Evolucion de las telecomunicaciones en el peru
Evolucion de las telecomunicaciones en el peruEvolucion de las telecomunicaciones en el peru
Evolucion de las telecomunicaciones en el peru
 
Algunas definiciones y conceptos en telecomunicaciones
Algunas definiciones y conceptos en telecomunicacionesAlgunas definiciones y conceptos en telecomunicaciones
Algunas definiciones y conceptos en telecomunicaciones
 
Propagación de ondas electromagnéticas en medios conductores
Propagación de ondas electromagnéticas en medios conductoresPropagación de ondas electromagnéticas en medios conductores
Propagación de ondas electromagnéticas en medios conductores
 

Sistemas operativos distribuidos

  • 2. Arquitectura de Sistemas Centralizados • Ú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
  • 3. Arquitectura de Sistemas Distribuidos • Conjunto de procesadores conectados por una red • Cada 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ón
  • 4. Nacimiento de los Sistemas Distribuidos Causas: • 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.
  • 5. Características de un Sistema Distribuido Definición: 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, MIMD
  • 6. Características de un Sistema Distribuido Un 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.
  • 7. Evolución de los Sistemas Operativos Objetivos Gestión de recursos, Sistema Operativo “Máquina extendida”, Centralizado (Virtualidad) Sistema Sistema Operativo Compartición de recursos, (Interoperabilidad) en Red Vista única de varias Sistema Operativo computadoras Distribuido (Transparencia) Sistema Cooperativa Trabajo cooperativo, (Autonomía)
  • 8. Capas de un Sistema Operativo La visión esquemática de un sistema operativo comprende los siguientes niveles: Usuarios Aplicaciones Servicios Kernel Hardware
  • 9. Responsabilidades del Kernel Kernels Monolíticos: Muchas funcionalidades dentro del kernel: planificador, gestión de memoria, drivers,... Servicios Kernel Computadora 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 m Kernel - m Kernel - m Kernel - Servicios m Kernel Computadora Servicios Distribuidos: Estructura de sistema distribuido. Dependiendo del nivel se habla de: Sistema Operativo Distribuido, Sistema en Red o (Cooperativo).
  • 10. Heterogeneidad de un Sistema 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.
  • 11. Ventajas de los Sistemas Distribuidos • Economí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áficamente • Capacidad de crecimiento: Escalabilidad. • Fiabilidad y disponibilidad: Tolerancia a (ciertos) fallos. • Carácter abierto y heterogéneo: • Estándares de interoperabilidad. • Compartir recursos y datos.
  • 12. Desventajas de los Sistemas Distribuidos • Necesidad 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 confidencialidad
  • 13. Aplicaciones de los Sistemas Distribuidos • 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.
  • 14. Distribución de los Sistemas 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 acoplado
  • 15. Sistemas Operativos para SMPs Arquitecturas de varios procesadores (2 a 8) con memoria compartida de acceso uniforme (SMP: Simetric Multiprocesors) 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), ...
  • 16. Sistemas Operativos Distribuidos (SOD) Definición: 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.
  • 17. 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.
  • 18. 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)
  • 19. Sistemas Operativos en Red Definición: 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.
  • 20. Sistemas Cooperativos Definición: 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.
  • 21. 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 Hardware Hardware Hardware
  • 22. Objetivos de un Sistema Distribuido En general el desarrollo de sistemas distribuidos intenta poner solución a los siguientes objetivos: • Transparencia. • Fiabilidad. • Rendimiento. • Capacidad de crecimiento. • Flexibilidad. • Seguridad. Sistemas operativos distribuidos, sistemas en red y sistemas cooperativos requieren diferentes facetas de estos objetivos.
  • 23. Transparencia Existen varios perfiles de trasparencia: • • • • • • • • Acceso: Manera de acceder a recurso local igual que a remoto. Posición: Se accede a los recursos sin conocer su localización. Migración: Recursos pueden migrar sin afectar a los usuarios. Concurrencia: Acceso concurrente no afecta a los usuarios. Replicación: La existencia de réplicas no afecta a los usuarios. Fallos: La ocurrencia de fallos no afecta a los usuarios. Crecimiento: El crecimiento del sistema no afecta a los usuarios. Heterogeneidad:Carácter heterogéneo no afecta a los usuarios. ¿Es buena tanta transparencia? • A veces el usuario precisa conocer cómo es el sistema subyacente
  • 24. Fiabilidad Fiabilidad como disponibilidad: • Teóricamente: OR-lógico de sus componentes. • En ciertos casos: AND-lógico de varios componentes. • Mecanismos: redundancia y evitar componentes críticos. • Tolerancia a fallos: Los componuentes pueden no caerse pero funcionan de forma errónea. Fiabilidad como coherencia: • Se dificulta con la redundancia: inconsistencias La fiabilidad está relacionada con la seguridad (otro objetivo).
  • 25. 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: • • 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.
  • 26. Capacidad de Crecimiento Diseño de un sistema distribuido debe evitar “cuellos de botella”: • Componentes centralizados • Tablas centralizadas • Algoritmos centralizados Problemática agravada por el número de elementos: • Ninguna máquina tiene información completa del estado del sistema • Las decisiones se basan sólo en información disponible localmente • El fallo de una máquina no debe invalidar el algoritmo • No debe asumir la existencia de un reloj global
  • 27. Flexibilidad Capacidad para ampliarlo o extenderlo con nuevas funcionalidades de forma sencilla. Definición de responsabilidades: • Sistemas con µ-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. • El resto, servicios a nivel de usuario.
  • 28. Flexibilidad Un elemento fundamental de la flexibilidad son los sistemas abiertos. El desarrollo de estos sistemas requiere: • Sus interfaces y protocolos deberían ser públicos. • Contrario a ”tecnología propietaria”. • Uso de estándares siempre que sea posible. • Disponibilidad de su código fuente (libremente o no). • Regulación por parte de un colectivo (usuarios u organizaciones) y no por particulares (fabricantes).
  • 29. Componentes de un Sistema Distribuido El desarrollo de un sistema distribuido complejo requiere el uso de las siguientes funciones y servicios: • Servicios de comunicación. • Sistemas de ficheros y nombrado distribuido. • Servicios de sincronización y coordinación. • Memoria compartida distribuida. • Gestión de procesos. • Servicio de seguridad. Estas funcionalidades se plasman en elementos concretos del sistema: componentes, protocolos, algoritmos, soporte hardware/software, ...
  • 30. Servicios de Comunicación • Modelos de interacción: • • • • • • Cliente/servidor: (2-niveles, 3-niveles o n-niveles) Peer-to-peer: Equilibrio de roles. Intermediarios: Proxy, Dispacher, Caches, ... Unicast vs Multicast Fiabilidad. Síncronos vs Asíncronos • Tecnologías de comunicación: • • • • Paso de mensajes: Berkeley sockets. Llamada a procedimientos remotos: RPC. Tecnologías de objetos distribuidos: CORBA, DCOM, EJB Código móvil: Entornos de agentes.
  • 31. Sistemas de Ficheros Distribuidos Identificación, localización y acceso a elementos del entorno distribuido. Comprende: • • • Sistemas de ficheros distribuidos (SFD): NFS, AFS. Servicios de nombres: DNS, COS-Naming (CORBA). Servicios de directorio: X.500, LDAP, JNDI. Cuestiones: • • • Arquitectura de los servicios. Almacenamiento intermedio: caching. Replicación y coherencia.
  • 32. Servicios de Sincronización y Coordinación Comprende los conceptos de: • Tiempo en entornos distribuidos: Sincronización de relojes y relojes lógicos. • Concurrencia y Paralelismo: Exclusión mutua e interbloqueos. • Algoritmos distribuidos: Elección de líder, coordinación, ... • Transacciones: Propiedades ACID, modelos de commit/rollback. Afecta a otros servicios: • Nombrado e identificación. • Seguridad y fiabilidad. • Comunicaciones.
  • 33. Memoria Compartida Distribuida (DSM) Hardware: • Memoria físicamente compartida. • Memoria distribuida (lógicamente compartida). • Acceso uniforme vs acceso no uniforme. Distributed Shared Memory: • Basada en páginas. • Basada en variables compartidas. • Basada en objetos. Modelos de consistencia
  • 34. Gestión de Procesos • Taxonomía de los procesos: • Niveles de granularidad. • Congelación de procesos (persistencia). • Migración de procesos (estado/código). • Planificación de procesos: • • • • Planificación interna: Procesos y threads. Planificación global. Migración y equilibrado de carga. Aprovechamiento de máquinas inactivas.
  • 35. Servicio de Seguridad Tipología de los ataques: • Privacidad y confidencialidad. • Autenticación (spoofing). • Denegación de servicio. 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 seguros: e.g. Kerberos.
  • 36. Notación La asignatura tiene dos partes: • Parte de la asignatura dependiente de “ciertas“ tecnologías: • • • • • • API de sockets. RPCs. CORBA. DCOM. Java: RMI, EJB y Jini. Parte de la asignatura independiente de tecnologías: • • • • Conceptos. Técnicas. Algoritmos. Estrategias de diseño.
  • 37. Notación y Formalismos • Objetivo de la notación: No atar ninguna solución a una tecnología concreta. • Notaciones y formalismos usados: • • • • Pseudocódigo: Algoritmos y ejemplos. Objetos: Escenarios de interacción, patrones distribuidos. Formalismos matemáticos: Seguridad, sincronización. Metodologías y arquitecturas: Nomenclatura y semántica. • Se optará por el más apropiado en cada caso. • No debe ser un impedimento para entender el concepto.