Aumentar letras   Inicio   Información   Contactar   Mapa
Català   English

Sistemas Operativos Distribuidos y en Red (SODX)

Créditos Dept.
6.0 ECTS AC

Profesores

Responsable:  Jordi Guitart Fernandez (jguitart@ac.upc.edu)
Otros:Jose Navarro Mas (nacho@ac.upc.edu)
Leandro Navarro Moldes (leandro@ac.upc.edu)

Objectivos Generales

En esta asignatura el estudiante se centrará en el conocimiento de los sistemas operativos y su relación con las redes de computadores y en los servicios avanzados que debe conocer para obtener la intensificación en Sistemas. El estudiante será capaz de construir aplicaciones utilizando los principales paradigmas de programación sobre sistemas distribuidos y los recursos que proporcionan estos sistemas.

Objectivos Específicos

Conocimientos

  1. Conocer en profundidad los principales paradigmas de programación sobre sistemas distribuidos, el modelo cliente/servidor.
  2. Conocer las diferencias entre un sistema operativo en red y un sistema operativo distribuido.
  3. Servicios distribuidos básicos y avanzados.
  4. Propiedades consecuencia del comportamiento colectivo de un sistema: tolerancia a fallos, mayor capacidad, seguridad.
  5. Conocer las últimas tendencias en soluciones a las necesidades de distribución.

Habilidades

  1. El estudiante será capaz de analizar los problemas y elegir soluciones que puede plantear el diseño o el funcionamiento de una aplicación distribuida.
  2. Optimización de los recursos del sistema y la red.
  3. Capacidad de desarrollar sistemas o mecanismos que solucionen problemas de tolerancia a fallos, rendimiento, escala, movilidad.

Competencias

  1. Capacidad para trabajar efectivamente en grupos pequeños de personas para la resolución de un problema de dificultad media.
  2. Capacidad para hacer presentaciones convincentes de manera oral, tanto formales como informales.
  3. Capacidad para estudiar de varias fuentes, identificando cuándo la información recibida a clase no es suficiente y buscando información complementaria.
  4. Capacidad para aprender autónomamente.

Contenidos

Horas estimadas de:

T P L Alt L Ext. Est O. Ext.
Teoria Problemas Laboratorio Otras actividades Laboratorio externo Estudio Otras horas fuera del horario fijado

1. Conceptos de sistemas distribuidos
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 0 0 0 4,0 4,0 12,0
Conceptos y modelos básicos de sistemas distribuidos; ideas de orden, causalidad, tiempo, fallos, escala.



Objetivos: conexión, transparencia, apertura y escalabilidad; técnicas básicas de replicación, comunicación en grupo, caching, distribución, leasing, delegación, funcionamiento desconectado, consistencia, sincronización, comportamiento colectivo o emergente, adaptación, etc.



Modelos: centralizados, descentralizados, por capas.







  • Otras actividades fuera del horario fijado:
    Actividades de trabajo en grupo.

2. Comunicación entre procesos
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Invocación de operaciones remotas; Invocación de objetos remotos; comunicación basada en mensajes; comunicación basada en canales (streams).



  • Otras actividades:
    Actividades de trabajo en grupo.
  • Laboratorio:
    Modificar y ampliar una aplicación basada en invocación remota. Evaluar y comparar varias alternativas.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.


3. Sincronización, Consistencia y replicación
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Sincronización de relojes; estado, elección, transacciones; modelos y mecanismos de consistencia; Distribución y replicación.



  • Laboratorio:
    Evaluar mecanismos de sincronización de relojes entre varios PC; probar y evaluar mecanismos de replicación de datos entre varios PC.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.

  • Otras actividades fuera del horario fijado:
    Actividades de trabajo en grupo.

4. Sistemas tolerantes a fallos
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Detección y tratamiento de fallos en procesos; comunicación fiable y en grupo; recuperación de fallos.



  • Laboratorio:
    Probar y evaluar herramientas y entornos para programación de sistemas tolerantes a fallos entre varios PC.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.

  • Otras actividades fuera del horario fijado:
    Actividades de trabajo en grupo.

5. Sistemas y servicios de nombres
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Espacios de nombres y resolución; Servicios DNS, LDAP; sistemas móviles.



  • Otras actividades:
    Actividades de trabajo en grupo.
  • Laboratorio:
    Evaluar y comparar varias alternativas de servicios de nombres.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.


6. Sistemas de ficheros distribuidos
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 4,0 0 4,0 4,0 4,0 20,0
Sistemas NFS, CODA y otros; Características y comparación.

  • Otras actividades:
    Actividades de trabajo en grupo.
  • Laboratorio:
    Evaluar y comparar varias alternativas de servicios de ficheros.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.


7. Sistemas web distribuidos
T      P      L      Alt    L Ext. Est    O. Ext. Total 
2,0 0 2,0 0 2,0 2,0 2,0 10,0
Arquitectura; Web Services; Comunicación HTTP i SOAP; Caching, replicación, CDNs
  • Laboratorio:
    Evaluar el rendimiento de un servidor web.
  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.

  • Otras actividades fuera del horario fijado:
    Actividades de trabajo en grupo.

8. Sistemas distribuidos de gran escala
T      P      L      Alt    L Ext. Est    O. Ext. Total 
4,0 0 4,0 0 4,0 6,0 6,0 24,0
Sistemas Grid y descentralizados (Peer-to-Peer o P2P); Gestión de recursos; Redes superpuestas (overlay); Infraestructuras actuales: Globus, etc.

  • Otras actividades:
    Actividades de trabajo en grupo.
  • Laboratorio:
    Modificar y ampliar una aplicación basada en Grid y P2P. Evaluar y comparar varias alternativas.

  • Actividades de laboratorio adicionales:
    Análisis previo y elaboración de conclusiones posterior.



Total por tipo T      P      L      Alt    L Ext. Est    O. Ext. Total 
28,0 0 24,0 0 24,0 30,0 30,0 136,0
Horas adicionales dedicadas a la evaluación 4,0
Total horas de trabajo para el estudiante 140,0

Metodología docente

- Actividades centradas en la adquisición de conocimientos teóricos.

- Actividades (sesiones) centradas en el laboratorio donde adquirir conocimientos por experimentación: poner en marcha sistemas, medir y comparar rendimiento y realizar modificaciones y pequeñas aplicaciones para adquirir las habilidades básicas.



Las clases de teoría podrían dividirse en (1) clases de exposición, (2) lecturas de artículos, (3) trabajo en grupo (AC).



Actividades de trabajo en grupo:

- parte presencial (profesor y alumnos),

- presencial (alumnos), (asistente?),

- no presencial (cada alumno por su cuenta) + herramienta (como bscw).



Teoría:

- Preparación: lecturas dirigidas (lectura papers/informes),

- Seguimiento clases exposición teoría,

- Elaboración: trabajo en grupo (posters).



Laboratorio:

- Preparación: lectura de enunciado y documentación adicional,

- Trabajo en el laboratorio, reservado, en grupo,

- Trabajo posterior para acabar (informe de evaluación del sistema producto).

Método de evaluación

A) Examen parcial escrito (control) individual de seguimiento sobre algunos conocimientos y habilidades.

B) Examen final escrito individual sobre los conocimientos y habilidades.



C) Evaluación de los informes de lectura, presentación y discusión de artículos y documentos recomendados.



D) Evaluación del trabajo en grupo o cooperativo sobre algunos conceptos, habilidades y competencias en el laboratorio.





Nota Final = max(0.15 x A + 0.35 x B, 0.50 x B) + 0.25 x C + 0.25 x D.

Bibliografía básica

  • TANENBAUM, Andrew S; VAN STEEN, Maarten. Distributed Systems: Principles and Paradigms, 2nd Edition, Prentice Hall, 2007.
  • COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim. Distributed Systems: Concepts and Design, 4th Edition, Addison-Wesley, 2005.

Bibliografía complementaria

(Información no introducida)

Capacidades previas

Conocimientos detallados de la estructura interna y el funcionamiento de un sistema operativo (asignatura SO), de una red de computadores (asignatura XC o XCA).



 
logo FIB © Facultad de Informática de Barcelona - webmaster@fib.upc.edu - RSS RSS