Sistemas_Operativos_Distribuidos

28
Sistemas operativos: una visión aplicada Capítulo 10 Introducción a los sistemas distribuidos

Transcript of Sistemas_Operativos_Distribuidos

Page 1: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada

Capítulo 10 Introducción a los sistemas distribuidos

Page 2: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 2 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 3: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 3 © J. Carretero, F. García, P. de Miguel, F. Pérez

Conceptos previos

• Un programa es un conjunto de instrucciones.• Un proceso es un programa en ejecución.• Una red de computadores es un conjunto de computadores

conectados por una red de interconexión.• Un sistema distribuido (SD)

– Modelo físico: conjunto de nodos (procesadores sin memoria ni reloj común) conectados por una red.

– Modelo lógico: conjunto de procesos que ejecutan concurrentemente en uno o más computadores que colaboran y comunican intercambiando mensajes.

• Un protocolo es un conjunto de reglas e instrucciones que gobiernan la comunicación en un sistema distribuido, es decir, el intercambio de mensajes.

Page 4: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 4 © J. Carretero, F. García, P. de Miguel, F. Pérez

Características

• Compartir recursos (HW, SW, datos). – Acceso a recursos remotos.

• Modelo cliente-servidor• Modelo basado en objetos

• Ofrecen una buena relación coste/rendimiento• Capacidad de crecimiento• Tolerancia a fallos, disponibilidad

– Replicación• Concurrencia • Velocidad

– Paralelismo

Page 5: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 5 © J. Carretero, F. García, P. de Miguel, F. Pérez

Desventajas

• Necesidad de software más complejo• Problemas de fiabilidad• Problemas de seguridad y confidencialidad

Page 6: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 6 © J. Carretero, F. García, P. de Miguel, F. Pérez

Arquitectura de un sistema distribuido

R e d d e i n t e r c o n e x i ó n

Page 7: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 7 © J. Carretero, F. García, P. de Miguel, F. Pérez

Redes e interconexión

• Paquete: tipo de mensaje que se intercambia entre dos dispositivos de comunicación.– Tamaño limitado por el hardware

• Mensaje: objeto lógico que se intercambian entre dos o más procesos.– Su tamaño puede ser bastante grande.– Un mensaje se descompone en paquetes.

• Subsistema de comunicación: conjunto de componentes HW y SW que proporcionan servicios de comunicación en un sistema distribuido.

• Protocolo: conjunto de reglas e instrucciones que gobiernan el intercambio de paquetes y mensajes

Page 8: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 8 © J. Carretero, F. García, P. de Miguel, F. Pérez

Propiedades de un subsistema de comunicación

• Tasa de transferencia: velocidad de transferencia• Latencia: tiempo necesario para transferir un mensaje vacío• Tiempo de transferencia = latencia + tamaño/tasa de

trasferencia• Paquetes/segundo• Capacidad de crecimiento. Aumento en el nº de nodos• Calidad de servicio

– Importante en aplicaciones multimedia y de tiempo real• Fiabilidad del subsistema

– Mecanismos de detección de errores• Seguridad: protección de los paquetes • Confidencialidad: proteger la identidad de los emisores

Page 9: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 9 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tipos de redes de computadores

• Redes de área local (LAN, Local Area Network)– Redes que enlazan sistemas cercanos– Posibilidad de difusión de mensajes (broadcast)

• Redes de área extensa (WAN, Wide Area Network)– Poco ancho de banda (20-500 Kbps)– Bajas latencias– Redes telefónicas, redes públicas de datos, fiabra óptica

RDSI, B-RDSI, ATM• Nuevos desarrollos en telecomunicaciones (ATM y RDSI)

– Diferencias entre LAN y WAN cada vez más borrosas

Page 10: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 10 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos de comunicación

• Protocolo: conjunto de reglas y formatos que permiten la comunicación entre procesos.

• La definición de un protocolo tiene dos parte:– Especificación de la secuencia de mensajes que deben

intercambiarse.– Especificación del formato de mensajes.

• El software de red se organiza en niveles

Page 11: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 11 © J. Carretero, F. García, P. de Miguel, F. Pérez

Funciones de una pila de protocolos

• Segmentación y ensamblado de mensajes• Encapsulado: incorporación de información de control a los

datos– Dirección del emisor y receptor– Código de detección de errores

• Control de conexión– Protocolos orientados a conexión– Protocolos no orientados a conexión:

• No se asegura el orden secuencial de los datos transmitidos

• Entrega ordenada en protocolos orientados a conexión– Números de secuencia

Page 12: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 12 © J. Carretero, F. García, P. de Miguel, F. Pérez

Funciones de una pila de protocolos II

• Control de flujo: función realizada en el receptor para limitar la cantidad o tasa de datos que envía el emisor.

• Control de errores: se basan en el uso de una secuencia de comprobación y reenvío.

• Direccionamiento, conseguir que los mensajes alcancen al receptor

• Multiplexación: necesario para un uso más eficiente de los servicios

• Servicios de transmisión:– Prioridad– Calidad de servicio– Seguridad

Page 13: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 13 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplos de protocolos

• Protocolos internet:– Originados por el trabajo de DARPA en los 70– Muy utilizados en la actualidad– Gran crecimiento durante los 90 debido al uso del Web

• Protocolos OSI (open system interconection)– Estándar desarrollado por ISO

• Estándares propietarios– SNA de IBM (años 70)– DECnet desarrollado por DEC– NetWare: red de Novell para redes de PC

Page 14: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 14 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos TCP/IP

• Resultado de la investigación y desarrollo llevados a cabo en la red ARPANET (financiada por DARPA) en los años 70

• Familia de protocolos utilizados en Internet• En los 90 se ha establecido como la arquitectura comercial

dominante:– Se especificaron y utilizaron antes de OSI– Independiente de la tecnología de red utilizada– Internet está construida sobre un conjunto de protocolos

TCP/IP.– Espectacular desarrollo de World Wide Web

Page 15: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 15 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos TCP/IP

E m i s o r R e c e p t o r

Page 16: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 16 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolo Internet (nivel IP)

• La transmisión no es fiable (no se asegura la recepción de los paquetes IP). Los paquetes se pueden descartar por:– Expiración del tiempo de vida– Congestión– Error en la suma de comprobación

• Control de flujo muy limitado• Calidad de servicio muy limitado

– Seguridad: normal o alto– Retardo: normal o bajo– Rendimiento: normal o alto

Page 17: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 17 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos de transporte

• Protocolo TCP– Orientado a conexión– Garantiza que los datos se entregan en el orden en el que se

envían– Las conexiones TCP se ven como un flujo de bytes– La transmisión se considera “fiable”. Pueden perderse

mensajes (sobrecarga en la red, fallos en encaminadores, etc.)

– Cuando los mensajes son muy pequeños, TCP los retrasa hasta conseguir uno más grande

• Esta opción debe desactivarse si es necesario– Escrituras concurrentes sobre una misma conexión TCP

pueden provocar que los datos se entremezclen.

Page 18: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 18 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protocolos de transporte

• Protocolo UDP– Protocolo de datagramas no orientado a conexión.– Protocolo no fiable

• Los paquetes se pueden perder, duplicar, recibir en orden distinto al enviado

– Tamaño máximo del mensaje: 64 KB

Page 19: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez

Encaminamiento

• Permite que los paquetes viajen del proceso emisor al receptor.• Algoritmo:

– Un programa de aplicación genera un paquete, o bien se lee un paquete de la interfaz de red.

– Si el paquete es para la máquina, se acepta.– En caso contrario, se incrementa el contador de saltos, si se

excede el máximo, el paquete se descarta.– Si el paquete no es para la máquina se busca en la tabla de

encaminamiento y se retransmite a la interfaz adecuada.• Tablas estáticas, las más utilizadas• Tablas dinámicas

Page 20: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 20 © J. Carretero, F. García, P. de Miguel, F. Pérez

Papel del sistema operativo

• El SW de comunicación de un sistema operativo se organiza como un conjunto de componentes con tareas concretas– Subsistema de almacenamiento: buffers donde almacenar los

paquetes que llegan y se envían (limitado)• En implementaciones UNIX típicas

– TCP reserva para cada puerto (socket) un buffer de 8 KB y UDP 2 buffers de 8KB. El tamaño se puede incrementar hasta 64 KB.

– Los mensajes a enviar se copian a estos buffers– El contenido de estos buffers se fragmenta y se copian a

nuevos bloques de memoria a utilizar por IP– IP envía finalmente los paquetes por la interfaz de red

correspondiente

Page 21: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 21 © J. Carretero, F. García, P. de Miguel, F. Pérez

Papel del sistema operativo

• Un sistema operativo puede perder paquetes cuando la tasa de envíos y de recepción es muy grande.

• En sistemas operativos multiusuario la pérdida de paquetes suele producirse a ráfagas debido a los algoritmos de planificación.

• La latencia del SO ha crecido en términos relativos

0

5

10

15

20

25

30

35

40

1985-1990 1990-1995 1995-2000 2000-20005

Page 22: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 22 © J. Carretero, F. García, P. de Miguel, F. Pérez

¿Dónde se pierde el tiempo?

• Códigos de corrección (Checksum)– Sobre datos TCP y UDP– Sobre cabeceras IP

• Copias de datos– Entre usuario y kernel

• Estructura de datos– Gestión de los buffers, colas de defragmentación de paquetes

IP, • Sistema Operativo

– Sobrecarga impuesta por las operaciones del SO

Page 23: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 23 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Sistemas distribuidos

• Sistemas operativos distribuidos• Comunicación de procesos• Sincronización de procesos• Gestión de procesos• Sistemas de archivos• Gestión de memoria

Page 24: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 24 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sistema operativo en red (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

S i s t e m a o p e r a t i v o

L e n g u a j e s d e p r o g r a m a c i ó n

A p l i c a c i o n e s

R e d d e i n t e r c o n e x i ó n

H a r d w a r e

S i s t e m a o p e r a t i v o

L e n g u a j e s d e p r o g r a m a c i ó n

A p l i c a c i o n e s

H a r d w a r e

Page 25: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 25 © J. Carretero, F. García, P. de Miguel, F. Pérez

Sistema operativo distribuido (SOD)

• Se comporta como un SO único (visión única)– Distribución. 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

S i s t e m a o p e r a t i v o d i s t r i b u i d o

L e n g u a j e s d e p r o g r a m a c i ó n

A p l i c a c i o n e s

R e d d e i n t e r c o n e x i ó n

H a r d w a r e H a r d w a r e

Page 26: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 26 © J. Carretero, F. García, P. de Miguel, F. Pérez

Transparencia

• Acceso: acceso a recursos remotos y locales de igual forma• Posición: acceso a los recursos sin necesidad de conocer su

situación• Concurrencia: acceso concurrente a recursos compartidos sin

interferencias• Replicación: Acceso a recursos replicados sin conocimiento de

que lo son• Fallos: mantenimiento del servicio en presencia de fallos.• Migración: permite que los recursos y objetos se muevan sin

afectar a la operación de los programas.• Capacidad de crecimiento: facilidad para crecer sin afectar a la

estructura del sistema

Page 27: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 27 © J. Carretero, F. García, P. de Miguel, F. Pérez

Middleware y entornos distribuidos

• Servicios y protocolos estándarizados: Sistemas abiertos• Ofrecen servicios no incluidos en el SO (servicios de ficheros

distribuidos, servicios de nombres, ...)• Facilitan el desarrollo de aplicaciones distribuidas• Independientes del HW y del SO subyacente. • DCE, CORBA, DCOM, Legion, Globe, Globus

S i s t e m a o p e r a t i v o

M i d d l e w a r e

L e n g u a j e s d e p r o g r a m a c i ó n

A p l i c a c i o n e s

R e d d e i n t e r c o n e x i ó n

H a r d w a r e

S i s t e m a o p e r a t i v o

H a r d w a r e

Page 28: Sistemas_Operativos_Distribuidos

Sistemas operativos: una visión aplicada 28 © J. Carretero, F. García, P. de Miguel, F. Pérez

Servicios de un sistema operativo distribuido

• Servicios de comunicación• Servicios de sincronización• Gestión distribuida de procesos• Sistemas de archivos distribuidos• Memoria compartida distribuida