Weitere ähnliche Inhalte Ähnlich wie Sistemas_Operativos_Distribuidos (20) Mehr von Universidad Central del Ecuador (13) Kürzlich hochgeladen (20) Sistemas_Operativos_Distribuidos2. 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
3. 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.
4. 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
5. 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
6. 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 in t e r c o n e x ió n
7. 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
8. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. Sistemas operativos: una visión aplicada 15 © J. Carretero, F. García, P. de Miguel, F. Pérez
Protocolos TCP/IP
E m is o r R e c e p t o r
16. 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
17. 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.
18. 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
19. Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez
Encaminamient
o
• 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
20. 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
21. 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
22. 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
23. 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
24. 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 is t e m a o p e r a t i v o
L e n g u a je s d e p r o g r a m a c ió n
A p l ic a c io 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 is t e m a o p e r a t iv o
L e n g u a je s d e p r o g r a m a c ió n
A p li c a c io n e s
H a r d w a r e
25. 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 is t e m a o p e r a t iv o d is t r ib u i d o
L e n g u a je s d e p r o g r a m a c ió n
A p lic a c io n e s
R e d d e in 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
26. 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
27. 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 is t e m a o p e r a t i v o
M id d le w a r e
L e n g u a je s d e p r o g r a m a c i ó n
A p li c a c io n e s
R e d d e in t e r c o n e x ió n
H a r d w a r e
S is t e m a o p e r a t iv o
H a r d w a r e
28. 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