Universidad de Jaén

Menú local

Guía docente 2017-18 - 14513011 - Sistemas distribuidos



TITULACIÓN: Grado en Ingeniería telemática (14513011)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)
TITULACIÓN: Grado en Ingeniería de tecnologías de telecomunicación (14313011)
CENTRO: ESCUELA POLITÉCNICA SUPERIOR (LINARES)
CURSO: 2017-18
ASIGNATURA: Sistemas distribuidos
GUÍA DOCENTE
1. DATOS BÁSICOS DE LA ASIGNATURA
NOMBRE: Sistemas distribuidos
CÓDIGO: 14513011 (*) CURSO ACADÉMICO: 2017-18
TIPO: Optativa
Créditos ECTS: 6.0 CURSO: 3 CUATRIMESTRE: SC
WEB: http://dv.ujaen.es/docencia/goto_docencia_crs_351846.html
2. DATOS BÁSICOS DEL PROFESORADO
NOMBRE: AGUILERA GARCIA, ANGEL INOCENCIO
IMPARTE: [Profesor responsable]
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: - E-MAIL: - TLF: -
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/58294
URL WEB: -
ORCID: https://orcid.org/0000-0001-7229-7382
NOMBRE: RIVERO CEJUDO, Mª LINAREJOS
IMPARTE: Teoría - Prácticas
DEPARTAMENTO: U118 - INFORMÁTICA
ÁREA: 570 - LENGUAJES Y SISTEMAS INFORMÁTICOS
N. DESPACHO: A - 231 E-MAIL: mlina@ujaen.es TLF: 953648559
TUTORÍAS: https://uvirtual.ujaen.es/pub/es/informacionacademica/tutorias/p/57906
URL WEB: http://wwwdi.ujaen.es/?q=es/mlina
ORCID: https://orcid.org/0000-0003-3563-6132
3. PRERREQUISITOS, CONTEXTO Y RECOMENDACIONES
PRERREQUISITOS:
-
CONTEXTO DENTRO DE LA TITULACIÓN:

Esta asignatura se integra en el módulo de optatividad de la carrera. La asignatura dotará al alumnado de capacidades adicionales para el desempeño profesional del futuro titulado. En concreto el alumnado adquirirá los fundamentos básicos sobre los sistemas distribuidos atendiendo tanto a los aspectos teóricos como a los prácticos.

RECOMENDACIONES Y ADAPTACIONES CURRICULARES:

El alumno deberá realizar un trabajo autónomo en casa. Para las clases prácticas deberá estudiar con antelación a la realización de las mismas, el guión y manuales proporcionados por los profesores. De igual forma trabajará los ejercicios que propongan los profesores y que serán tratados en seminarios y tutorías colectivas.

El alumnado que presente necesidades específicas de apoyo educativo, lo ha de notificar personalmente al Servicio de Atención y Ayudas al Estudiante para proceder a realizar, en su caso, la adaptación curricular correspondiente.
4. COMPETENCIAS Y RESULTADOS DE APRENDIZAJE
Código Denominación de la competencia
CBB2 Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería
 
Resultados de aprendizaje
Resultado Resul-01 No contemplado en la memoria del título
5. CONTENIDOS

Teórico:

  1. Gestión de procesos y threads.
  2. Exclusión mutua, sincronización y comunicación entre procesos.
  3. Algoritmos para modelos basados en memoria compartida y paso de mensajes. Semáforos y Monitores. Llamadas a procedimiento remoto (RPC)
  4. Bibliotecas de programación concurrente y distribuida.
  5. Paradigmas de integración de procesos en sistemas distribuidos (cliente-servidor, peer to peer).

Práctico:

  • Familiarizar al alumno con la gestión de procesos.
  • Utilización del lenguaje de programación Java como herramienta de programación en sistemas distribuidos

 

Contenidos desarrollados:

Teoría:

Tema 1. Introducción.

            1.1- Introducción a los sistemas distribuidos.

            1.2- Ejemplos de sistemas distribuidos.

            1.3- Recursos compartidos y Web.

Tema 2. Características de los sistemas distribuidos.

            2.1- Heterogeneidad.

            2.2- Extensibilidad.

            2.3- Seguridad.

            2.4- Escalabilidad.

            2.5- Tratamiento de fallos.

            2.6- Concurrencia.

            2.7- Transparencia.

Tema 3. Modelo arquitectónico.

            3.1- Introducción.

            3.2- Capas de software.

            3.3- Arquitecturas de sistema.

            3.4- Variaciones en el modelo de cliente-servidor.

            3.5- Interfaces y objetos

            3.6- Requisitos de diseño para arquitectura distribuidas.

Tema 4. Modelos fundamentales.

            4.1- Modelo de interacción.

            4.2- Modelo de fallo.

            4.3- Modelo de seguridad.

Tema 5. Mecanismos básicos de comunicación entre procesos.

            5.1- Introducción a la interconexión de redes.

            5.2- Introducción a la comunicación entre procesos.

            5.3- API para los protocolos de Internet.

Tema 6. Modelo cliente-servidor y comunicación en grupos.

            6.1- Comunicación cliente-servidor.

            6.2- Comunicación en grupo.

Tema 7. Comunicación entre procesos: Sockets y llamadas a procedimientos remotos (RPC).

            7.1- Sockets.

            7.2- Comunicación de datagramas UDP.

            7.3- Comunicación de streams TCP.

            7.4- Representación externa de datos y empaquetado.

            7.5- Llamada a un procedimiento remoto: Caso de estudio Sun RPC.

Tema 8. Comunicación entre objetos distribuidos: RMI y CORBA.

            8.1- Introducción a los objetos distribuidos.

            8.2- Comunicación entre objetos distribuidos.

            8.3- Eventos y notificaciones.

            8.4- Java RMI.

            8.5- CORBA RMI y servicios.

Prácticas

  • Práctica 1: Introducción a la programación en Java.
  • Práctica 2: Herencia y polimorfismo en Java.
  • Práctica 3: Generación de entorno de ventanas en Java.
  • Práctica 4: Utilización de RMI con entorno de ventanas en Java.
  • Practica 5: Comunicación de procesos a traves de socket. 

6. METODOLOGÍA Y ACTIVIDADES
 
ACTIVIDADES HORAS PRESEN­CIALES HORAS TRABAJO AUTÓ­NOMO TOTAL HORAS CRÉDITOS ECTS COMPETENCIAS (códigos)
A1 - Clases expositivas en gran grupo
  • M1 - Clases expositivas en gran grupo: Clases magistrales
  • M2 - Clases expositivas en gran grupo: Exposición de teoría y ejemplos generales
25.0 30.0 55.0 2.2
  • CBB2
A2 - Clases en grupos de prácticas
  • M10 - Clases en grupos de prácticas: Aulas de informática
  • M12 - Clases en grupos de prácticas: Presentaciones/Exposiciones
30.0 50.0 80.0 3.2
  • CBB2
A3 - Tutorias Colectivas
  • M17 - Aclaración de dudas
5.0 10.0 15.0 0.6
  • CBB2
TOTALES: 60.0 90.0 150.0 6.0  
 
INFORMACIÓN DETALLADA:

Las clases expositivas en gran grupo serán esencialmente clases magistrales, las clases en grupos de prácticas se harán en un aula de informática y las tutorías colectivas se utilizarán para la resolución de dudas y problemas propuestos por el alumanado.

7. SISTEMA DE EVALUACIÓN
 
ASPECTO CRITERIOS INSTRUMENTO PESO
Asistencia y/o participación en actividades presenciales y/o virtuales Resolución y participación de manera activa de las actividades planteadas en clase por el profesor Observación y notas del profesor 20.0%
Conceptos teóricos de la materia Dominio de los conocimientos teóricos y operativos de la materia. Examen teórico (prueba objetiva de respuesta breve) 60.0%
Realización de trabajos, casos o ejercicios -Dominio de los conocimientos operativos de la materia. En cada trabajo se analizará:-Estructura. - . -Resolución.- Originalidad. Ortografía y presentación. - Resolución de ejercicios propuestos. 0.0%
Prácticas de laboratorio/campo/uso de herramientas TIC Presentación de trabajos prácticos y validación de los mismos Resolución de problemas prácticos y notas del profesor 20.0%
El sistema de calificación se regirá por lo establecido en el RD 1125/2003 de 5 de septiembre por el que se establece el sistema europeo de créditos y el sistema de calificaciones en la titulaciones universitarias de carácter oficial
INFORMACIÓN DETALLADA:

La evaluación del alumnado puede realizarse de dos formas diferentes:

  1. Evaluación continua: El alumnado realizará todas las actividades planteadas por el profesor en clase, llevando este un seguimiento diario. Los conocimientos aprendidos por el alumnado evaluado a través de la asistencia y consecuente participación en clase, junto al de prácticas de laboratorio, supondrán hasta un 40% nota y serán evaluados durante el curso, dejando únicamente el 60% de la calificación a la realización del examen teórico. La nota obtenida por el alumnado durante el período lectivo, tanto en prácticas como en la participación en clase y seminarios, sólo se tendrá en cuenta durante el mismo curso académico.
  2. Evaluación no continua: El alumnado que no asista a clase de manera continuada se ajustará a este tipo de evaluación, donde se realizará un examen que le supondrá el 80% de la nota final. Además, el 20% de la nota restante se corresponde a la realización de prácticas de laboratorio que el alumno deberá realizar y defender antes del día del examen, en horario de tutorías. IMPORTANTE: Es requisito para aprobar la asignatura en esta modalidad, la realización y defensa las prácticas de la asignatura por parte del alumnado, además la nota obtenida por el alumno/a una vez evaluadas las prácticas sólo se guardará durante el mismo curso académico.

El  alumnado debe indicar al profesor la modalidad de evaluación que desea al principio de curso. En el caso de que no lo indique,  falte más del 5% de las sesiones de teoría o no entregue cualquiera de las actividades propuestas por el profesor de manera no justificada, será evaluado de manera NO CONTINUA.

El alumno deberá obtener una calificación mínima de 5 para superar la asignatura, sumando cada una de las partes y atendiendo a los criterios anteriormente especificados. La nota obtenida por el alumno durante el periodo lectivo, tanto en las prácticas como en la participación en clase y seminarios, se mantendrá para el resto de convocatorias del mismo curso.

Este sistema de evaluación permite al alumno adquirir la competencia CGB.2.

8. DOCUMENTACIÓN / BIBLIOGRAFÍA
ESPECÍFICA O BÁSICA:
  • Introduction to concurrency in programming languages . Edición: Boca Raton (Florida) : Chapman & Hall CRC Press, cop. 2010. Autor: Sottile, Matthew J.. Editorial: -  (C. Biblioteca)
  • Programación concurrente. Edición: -. Autor: -. Editorial: Madrid : Thomson, 2003  (C. Biblioteca)
  • The art of concurrency: [a thread monkey's guide to writing parallel applications]. Edición: -. Autor: Breshears, Clay. Editorial: Sebastopol, CA : OŔeilly, 2009  (C. Biblioteca)
  • Sistemas distribuidos: conceptos y diseño. Edición: 3ª ed. Autor: Coulouris, George. Editorial: Madrid [etc.]: Addison Wesley, 2007  (C. Biblioteca)
  • Sistemas operativos distribuidos. Edición: -. Autor: Tanenbaum, Andrew S.. Editorial: México [etc.]: Prentice-Hall Hispanoamericana, cop. 1996  (C. Biblioteca)
GENERAL Y COMPLEMENTARIA:
  • P2P networking and applications [Recurso electrónico]. Edición: -. Autor: Koegel Buford, John F.. Editorial: Amsterdam ; Boston : Elsevier Morgan Kaufmann, c2009.  (C. Biblioteca)
  • Las redes P2P: 'Peer to Peer'. Edición: -. Autor: Millán Tejedor, Ramón J.. Editorial: [S.l.] : Creaciones Copyright, 2006  (C. Biblioteca)
  • Operating systems: internals and design principles. Edición: 7th ed.. Autor: Stallings, William.. Editorial: Boston : Pearson, c2012  (C. Biblioteca)
  • Java network programming and distributed computing [Recurso electrónico] . Edición: -. Autor: Reilly, David. Editorial: Boston, MA : Addison-Wesley, c2002.  (C. Biblioteca)
  • Piensa en Java. Edición: 4ª ed.. Autor: Eckel, Bruce. Editorial: Madrid [etc.] : Pearson Educación, 2008  (C. Biblioteca)
  • Teoría de sistemas operativos distribuidos. Edición: -. Autor: Lucena Pumar, Diego Antonio. Editorial: [S.l.]: Lu-lu.com, 2009  (C. Biblioteca)
9. CRONOGRAMA (segundo cuatrimestre)
 
Semana A1 - Clases expositivas en gran grupo A2 - Clases en grupos de prácticas A3 - Tutorias Colectivas Trabajo autónomo Observaciones
Nº 1
29 ene. - 4 feb. 2018
       
Nº 2
5 - 11 feb. 2018
       
Nº 3
12 - 18 feb. 2018
       
Nº 4
19 - 25 feb. 2018
       
Nº 5
26 feb. - 4 mar. 2018
       
Nº 6
5 - 11 mar. 2018
       
Nº 7
12 - 18 mar. 2018
       
Nº 8
19 - 25 mar. 2018
       
Período no docente: 26 mar. - 1 abr. 2018
Nº 9
2 - 8 abr. 2018
       
Nº 10
9 - 15 abr. 2018
       
Nº 11
16 - 22 abr. 2018
       
Nº 12
23 - 29 abr. 2018
       
Nº 13
30 abr. - 6 may. 2018
       
Nº 14
7 - 13 may. 2018
       
Nº 15
14 - 20 may. 2018
       
Total Horas 0.0 0.0 0.0 0.0