Home UC3M
Home IT
Home / Docencia / Ing. Téc. de Telecomunicación (Telemática) Arquitecturas Distribuidas
anteriorsiguiente

Arquitecturas Distribuidas

Curso: 2º Ing. Téc. Telecomunicaciones (Esp. Telemática)
Grupo: 71-2
Créditos: 6
Cuatrimestre: 2º
Horas/Semana: 4 (L 17-19h y X 16-18h)
Aulas TEORÍA: 4.0.E01
Aulas LABORATORIO: Lunes 1.2.G04 y 1.2.G03; Miércoles 2.2.C03 y 2.2.C05
Profesorado: Marisol García Valls (Coordinadora), Iria Estevez Ayres
Tutorías: MGV: 4.1.A10 - miércoles, de 11 a 13:30 y miércoles de 15 a 16 (Preferente),
IEA: 4.1.A06 - martes, de 11:30 a 13:30; jueves, de 11:15-12:15 y 12:15 a 13:15 (Preferente),
Fuera del horario preferente deberá contactar primero por correo electrónico.

 OBJETIVOS

Se pretende que en esta asignatura los alumnos conozcan:
  • los conceptos básicos de la programación concurrente,
  • las facilidades para concurrencia del lenguaje Java,
  • qué es un sistema distribuido,
  • qué servicios ofrece un sistema operativo distribuido,
  • aspectos de sincronización en sistemas distribuidos.
  • mecanismos de comunicación en sistemas distribuidos
 PROGRAMA

  1. Introducción a la ejecución monoprocesador
  2. Conceptos fundamentales de concurrencia
    • Hilos y procesos
    • Concurrencia en Java
      • Creación y manipulación de hilos.
      • Sincronización básica en Java.
    • Mecanismos clásicos de sincronización (cerrojos, semáforos, monitores).
  3. Sistemas distribuidos.
    • Sistemas operativos distribuidos (SOD).
    • Servicios ofrecidos por un SOD.
    • Comunicación en sistemas distribuidos.
      • Sockets, datagramas UDP, streams TCP
      • Representación externa de datos y empaquetado
      • Comunicación cliente-servidor: Paso de mensajes.
    • Sincronización en sistemas distribuidos.
    • Objetos distribuidos e invocación remota: RMI
 PRÁCTICAS

Se efectuarán prácticas de laboratorio y problemas en clase con el fin de mejorar la comprensión de los conceptos por parte de los alumnos:
  • Las prácticas se realizaran en el lenguaje Java en los laboratorios indicados en esta página.
  • Todas las prácticas guiadas realizadas a lo largo del curso deberán entregarse obligatoriamente, aunque no todas puntuarán sobre la nota final. Se indicará puntualmente qué prácticas influirán en la nota final. Puede encontrar más detalles acerca de las prácticas aquí.
 SESIONES

Para ver el calendario de sesiones detallado, pinchar aquí. Este enlace muestra las transparencias básicas que serán seguidas por el profesor en las clases teóricas y los enunciados de las prácticas. Se recomienda fuertemente acudir a la bibliografía de la asignatura para completar las mismas.
 NOTICIAS DE ULTIMA HORA

Las incidencias de última hora (cambio del orden de sesiones, modificación de transparencias, modificación de sesiones prácticas, información acerca de las prácticas puntuables, listados de prácticas entregadas, etc.) serán publicadas aquí. Se recomienda consultar frecuentemente esta sección.
 BIBLIOGRAFÍA

Básica:
  • G. F. Coulouris, J. Dollimore y T. Kindberg. Distributed Systems. Concepts and Design Adisson Wesley. 4ª edición, junio 2005. ISBN 0201-61918-0.En inglés
  • A.S. Tanenbaum, M. Van Steel. Distributed Systems. Prentice-Hall. 2007.
  • S. Oaks, H. Wong. Java Threads. O`Reilly 2004.
  • A. Silberschatz y P. Galvin. Operating System Concepts. Seventh Edition. Addison Wesley, 2005.
Complementaria:
  • D. Lea. Programación concurrente en Java. Principios y patrones de diseño. Segunda Edición, Addison Wesley, 2000. (Biblioteca: L/D 004.438 JAVA LEA)
  • S. Mullender. Distributed Systems. Segunda edición. Addison Wesley.
  • M. Ben-Ari. Principles of Concurrent and Distributed Programming. Prentice-Hall International (UK). 1990.
  • A.S. Tanenbaum. Modern Operating Systems. Prentice-Hall. 1993.
  • Bruce Eckel, Thinking in Java. Segunda edición, Prentice-Hall, 2000.
  • O. Babaoglu, K. Marzullo. "Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms". Technical Report UBLCS-93-1. January 1993. Laboratory for Computer Science. University of Bologna. Bologna (Italy).
  • Mary Campione, Kathy Walrath. The Java Language Tutorial: Object-Oriented Programming for the Internet. ISBN 0-201-063454-6.
  • Gregorio Fernández, Conceptos básicos de arquitectura y sistemas operativos: Curso de Ordenadores. Madrid, Sistemas y Servicios de Comunicación, tercera edición, 1998.
 ENLACES DE INTERÉS Y MATERIAL AUXILIAR



Manual interactivo de clases y métodos de Java
Tutorial de Java JDK 1.2
THiNKiNG iN Java
Tutorial básico de Java
Guía rápida de comandos de Unix
Tutorial básico de Linux
Marisol García Valls, 21 de febrero de 2007

Localización | Personal | Docencia | Investigación | Novedades | Intranet
inicio | mapa del web | contacta