Los objetivos que se persiguen con la asignatura son:
Comprender la importancia de la programación concurrente en las aplicaciones de hoy en día.
Identificar las principales características de los distintos tipos de sistemas concurrentes que
existen.
Conocer y entender los problemas que plantea el desarrollo de programas concurrentes, y que no
aparecen en la programación secuencial.
Entender los conceptos de sincronización y exclusión mutua entre procesos.
Identificar las propiedades de seguridad y vivacidad que un sistema concurrente debe cumplir y ser
capaz de razonar si dichas propiedades se cumplen.
Conocer los principales modelos de programación concurrente, paralela y distribuida.
Adquirir experiencia y conocimiento en los mecanismos de sincronización y comunicación que se
utilizan en la actualidad para desarrollar programas concurrentes tanto para sistemas de memoria
compartida como para sistemas distribuidos.
Entender el funcionamiento de semáforos y monitores como mecanismos de sincronización para
memoria compartida y comprender cómo se pueden resolver problemas de programación
concurrente usando monitores.
Ser capaz de desarrollar algoritmos para sistemas basados en memoria compartida y para sistemas
distribuidos que resuelvan problemas modelo en programación concurrente.
Conocer y ser capaz de usar bibliotecas y plataformas estandarizadas para la implementación de
programas concurrentes basados en memoria compartida y para sistemas distribuidos
Conocer las técnicas más destacadas para el diseño de sistemas de tiempo real
Temario de teoría
Índice de capítulos en los que se estructura la docencia presencial de teoría
Introducción a la Programación Concurrente.
Algoritmos y mecanismos de sincronización basados en memoria compartida.
Sistemas basados en paso de mensajes.
Introducción a los sistemas de tiempo real.
Temario de prácticas
Prácticas evaluables:
Resolución de problemas de sincronización con hebras.
Programación de monitores con hebras Java.
Programación de aplicaciones distribuidas.
Programación de tareas periódicas con prioridades.
Seminarios impartidos presencialmente en las clases de prácticas:
Introducción a la programación mutihebra usando semáforos.
Programación multihebra con monitores.
Introducción al uso de una interfaz de paso de mensajes.
sitio web modificado por última vez el 15 de Septiembre de 2015