• No se han encontrado resultados

Sistemas Operativos Distribuidos. Presentación

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operativos Distribuidos. Presentación"

Copied!
46
0
0

Texto completo

(1)

Sistemas Operativos Distribuidos

Presentación

(2)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 1

11

1 José María Peña SánchezFernando Pérez Costoya

Referencias Básicas

• Distributed Operating Systems

A. S. Tanenbaum

Prentice-Hall, 1995

• Distributed Systems: Concepts and Design

G. Coulouris, J. Dollimore, T. Kindberg

Addison-Wesley, 2001

• Pattern-Oriented Software Architecture: Patterns for

Concurrent and Networked Objects (Vol 2).

D. Schmidt, M. Stal, H. Rohnert, F. Bruschmann Wiley, 2000

(3)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 2

22

2 José María Peña SánchezFernando Pérez Costoya

Referencias Básicas

• Distributed Operating Systems: Concepts & Practice

D. L. Galli

Prentice-Hall, 2000

• Distributed Operating Systems & Algorithms

R. Chow, T. Johnson

Addison-Wesley, 1997

Traducción al Castellano

• Sistemas Operativos Distribuidos

A. S. Tanenbaum

(4)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 3

33

3 José María Peña SánchezFernando Pérez Costoya

Índice del Curso

Índice de Temas

• Introducción y conceptos • Comunicación en sistemas

distribuidos

• Sistemas de ficheros distribuidos y servicios de directorio.

• Sincronización y coordinación • Sistemas de memoria distribuida • Gestión de procesos • Seguridad en sistemas distribuidos

Tecnologías

•CORBA

•DCOM

•DCE

•Java:

•Jini •RMI •EJB

Entornos Distribuidos

y

C

asos de E

studio

(5)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 4

44

4 José María Peña SánchezFernando Pérez Costoya

Objetivos

• Conceptos (Objetivo Principal)

– Diseño de sistemas distribuidos (No sólo sistemas operativos). – Problemática de sistemas distribuidos:

• Transacciones y concurrencia. • Nombrado y organización.

• Seguridad.

• Configuración y optimización.

• Técnicas (Objetivo Secundario)

– Tecnologías y entornos de desarrollo distribuidos. – Herramientas de desarrollo.

(6)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 5

55

5 José María Peña SánchezFernando Pérez Costoya

Direcciones de Contacto

Información Actualizada:

• Página de la asignatura:

– http://laurel.datsi.fi.upm.es/~ssoo/SOD/

Profesores Responsables:

• Fernando Pérez Costoya

– <[email protected]>

• José María Peña Sánchez

(7)

Sistemas Operativos Distribuidos

Introducción y

Conceptos

Introducción y

Conceptos

(8)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 7

77

7 José María Peña SánchezFernando Pérez Costoya

Contenidos del Tema

• Evolución de los sistemas operativos:

– Definición de sistema centralizado. – Definición de sistema distribuido.

• Ventajas y desventajas de los sistemas distribuidos.

• Sistemas operativos distribuidos.

• Sistemas operativos de red.

• Middlewares.

• Objetivos de un sistema distribuido.

• Componentes de un sistema distribuido.

• Notación y formalismos.

(9)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 8

88

8 José María Peña SánchezFernando Pérez Costoya

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

(10)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 9

99

9 José María Peña SánchezFernando Pérez Costoya

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

(11)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 10

10 10

10 José María Peña SánchezFernando Pérez Costoya

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.

(12)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 11

11 11

11 José María Peña SánchezFernando Pérez Costoya

Características de un Sistema Distribuido

Definición: [Tan95]

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):

(13)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 12

12 12

12 José María Peña SánchezFernando Pérez Costoya

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.

(14)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 13

13 13

13 José María Peña SánchezFernando Pérez Costoya

Evolución de los Sistemas Operativos

• Sistemas Operativos

Centralizados.

• Sistemas Operativos

en Red

• Sistemas Operativos

Distribuidos

• Sistemas

Cooperativos

Sistema Objetivos Sistema Operativo Centralizado Gestión de recursos, “Máquina extendida”, (Virtualidad) Sistema Operativo en Red Compartición de recursos, (Interoperabilidad) Sistema Operativo Distribuido

Vista única de varias computadoras (Transparencia) Sistema Cooperativa Trabajo cooperativo, (Autonomía)

(15)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 14

14 14

14 José María Peña SánchezFernando Pérez Costoya

Capas de un Sistema Operativo

La visión esquemática de un sistema operativo comprende los

siguientes niveles:

• Hardware.

• Núcleo (kernel).

• Servicios del sistema.

• Programas de aplicación.

• Usuarios.

Hardware Hardware Hardware Hardware Kernel Kernel Kernel Kernel Servicios Servicios Servicios Servicios Aplicaciones Aplicaciones Aplicaciones Aplicaciones Usuarios Usuarios Usuarios Usuarios

(16)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 15

15 15

15 José María Peña SánchezFernando Pérez Costoya

Responsabilidades del Kernel

Kernel KernelKernel Kernel Servicios ServiciosServicios Servicios µ− µ− µ−

µ−KernelKernelKernelKernel

Servicios Servicios Servicios Servicios Computadora Computadora Computadora Computadora Computadora ComputadoraComputadora Computadora µ− µ− µ−

µ−KernelKernelKernelKernel µ−µ−Kernelµ−µ−KernelKernelKernel µ−µ−µ−µ−KernelKernelKernelKernel

Servicios ServiciosServicios Servicios Kernels Kernels Kernels

Kernels Monolíticos:Monolíticos:Monolíticos:Monolíticos:

Muchas funcionalidades dentro del kernel: planificador, gestión de memoria, drivers,...

µ− µ− µ−

µ−KernelsKernelsKernelsKernels::::

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 Distribuidos: Servicios Distribuidos: Servicios Distribuidos: Servicios Distribuidos:

Estructura de sistema distribuido. Dependiendo del nivel se habla de: Sistema Operativo

(17)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 16

16 16

16 José María Peña SánchezFernando Pérez Costoya

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.

(18)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 17

17 17

17 José María Peña SánchezFernando Pérez Costoya

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.

(19)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 18

18 18

18 José María Peña SánchezFernando Pérez Costoya

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.

(20)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 19

19 19

19 José María Peña SánchezFernando Pérez Costoya

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.

(21)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 20

20 20

20 José María Peña SánchezFernando Pérez Costoya

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

(22)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 21

21 21

21 José María Peña SánchezFernando Pérez Costoya

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

(23)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 22

22 22

22 José María Peña SánchezFernando Pérez Costoya

Sistemas Operativos Distribuidos (SOD)

Definición: [Gal00]

Un sistema operativo distribuido es un conjunto de procesadores

interconectados por redes que ocultan dicha característica

mostrando una visión al usuario de “

uniprocesador virtual

”.

Características:

– Ejecuta sobre un sistema distribuido haciendo creer a los usuarios que se trata de un sistema centralizado.

– Trasparencia: Debe ocultar factores derivados de la distribución. – Es fácil de decir pero no de hacer.

– Cada sistema alcanza hasta cierto punto esta meta.

(24)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 23

23 23

23 José María Peña SánchezFernando Pérez Costoya

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.

(25)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 24

24 24

24 José María Peña SánchezFernando Pérez Costoya

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)

(26)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 25

25 25

25 José María Peña SánchezFernando Pérez Costoya

Sistemas Operativos en Red

Definición: [Cho97]

Red de computadoras débilmente acopladas en las que no existe

un control externo directo sobre el hardware/software de cada

computadora para la compartición de recursos.

Características:

– No dan la visión de uniprocesador virtual (máquinas independientes). – Cada una ejecuta una copia de sistema operativo (distinto).

– Sistema operativo convencional + utilidades de red.

– Protocolos de comunicación para intercambio de recursos y acceso a servicios de alto nivel.

(27)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 26

26 26

26 José María Peña SánchezFernando Pérez Costoya

Sistemas Cooperativos

Definición: [Cho97]

Sistemas software orientados a servicios de alto nivel que

requieren el soporte de mecanismos de comunicación en base a

los cuales los protocolos de comunicaciones de alto nivel se

construyen.

Características:

– Se mantiene el grado de trasparencia sacrificando la visión de único sistema. Son sistemas autónomos independientes.

– Se construyen en base a middlewares (CORBA, DCE, DCOM, ...) – Los sistemas resultan de la integración de múltiples servicios

(28)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 27

27 27

27 José María Peña SánchezFernando Pérez Costoya

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). – ... Hardware Hardware Hardware Hardware SO SOSO SO Hardware Hardware Hardware Hardware SO SO SO SO Hardware Hardware Hardware Hardware SO SOSO SO Middleware MiddlewareMiddleware Middleware

(29)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 28

28 28

28 José María Peña SánchezFernando Pérez Costoya

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.

(30)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 29

29 29

29 José María Peña SánchezFernando Pérez Costoya

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?

(31)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 30

30 30

30 José María Peña SánchezFernando Pérez Costoya

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

(32)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 31

31 31

31 José María Peña SánchezFernando Pérez Costoya

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.

(33)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 32

32 32

32 José María Peña SánchezFernando Pérez Costoya

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

(34)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 33

33 33

33 José María Peña SánchezFernando Pérez Costoya

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.

(35)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 34

34 34

34 José María Peña SánchezFernando Pérez Costoya

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).

(36)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 35

35 35

35 José María Peña SánchezFernando Pérez Costoya

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

(37)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 36

36 36

36 José María Peña SánchezFernando Pérez Costoya

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.

(38)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 37

37 37

37 José María Peña SánchezFernando Pérez Costoya

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.

(39)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 38

38 38

38 José María Peña SánchezFernando Pérez Costoya

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. – ...

(40)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 39

39 39

39 José María Peña SánchezFernando Pérez Costoya

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.

(41)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 40

40 40

40 José María Peña SánchezFernando Pérez Costoya

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.

(42)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 41

41 41

41 José María Peña SánchezFernando Pérez Costoya

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.

(43)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 42

42 42

42 José María Peña SánchezFernando Pérez Costoya

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.

(44)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 43

43 43

43 José María Peña SánchezFernando Pérez Costoya

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.

(45)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 44

44 44

44 José María Peña SánchezFernando Pérez Costoya

Wrapper Facade

Patrón de diseño que encapsula los factores y características

dependientes de las APIs de desarrollo del sistema operativo o

tecnología usada. [SSR00]

Escenario:

Aplicación API FunciónA API FunciónB API FunciónC Wrapper Facade Datos método1() ... metodoN() método1(){ funciónA(); funciónB(); } método1(){ funciónA(); funciónB(); } métodoN(){ funciónC(); } métodoN(){ funciónC(); } llamadas llamadas llamadas llamadas

(46)

Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos Sistemas Operativos Distribuidos 45

45 45

45 José María Peña SánchezFernando Pérez Costoya

Wrapper Facade

Ejemplo:

– Semáforo genérico. Protege un región de exclusión mútua – acquire(): entrada en la región. – release(): salida de la región. – Implementación: Depende del SO.

class Thread_Mutex

{

public:

Thread_Mutex();

Thread_Mutex();

void acquire();

void release();

};

Referencias

Documento similar

Comunicación en los sistemas distribuidos de control en tiempo real .... Sistemas disparados por tiempo y disparados por

Los  Sistemas  en  Tiempo  Real  (STR)  generalmente  se  implantan  en  computadoras  digitales  con 

Sin embargo, esto no era posible en los sistemas de orden total, donde la coordinación de los procesos de un grupo con su router y la coordinación entre los routers de los pares

Este módulo profesional contiene la formación nece- saria para desempeñar las funciones de instalación y mantenimiento de sistemas operativos en red.. La gestión de los

1991: GNU de la FSF + kérnel linux sobre x86 Sistema tipo UNIX (compatible POSIX) Software libre. Distribuido inicialmente entre

Por otro lado, en la actualidad existe la posibilidad de crear aplicaciones software para dispositivos móviles inteligentes que funcionan gracias a sistemas

entorno emulado Æ equipo real 2, para diferentes longitudes de trama Ethernet, consumo de recursos del PC emulador 1, arquitectura de red LAN/VTP y sistemas operativos

• La elaboración del marco teórico sobre el proceso de configuración de red en sistemas operativos GNU/Linux, así como el estudio de herramientas informáticas