UA
   PROGRAMACIÓN CONCURRENTE    Año académico       Versión PDF.  Versión PDF para convalidación.
Código9242Descripción
Crdts. Teor.3PROCESOS.SINCRONIZACION,COMPETENCIA Y COOPERACION.EXCLUSION MUTUA.MEMORIA COMPARTIDA.MEMORIA DISTRIBUIDA.CSP
Crdts. Pract.3
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale a 7,5 ECTS.


Departamentos y Áreas
DepartamentosÁreaCrdts. Teor.Crdts. Pract.Dpto. Respon.Respon. Acta
LENGUAJES Y SISTEMAS INFORMÁTICOSLENGUAJES Y SISTEMAS INFORMATICOS33


Estudios en los que se imparte
Ingeniería en Informática - plan 2001


Pre-requisitos
Sin incompatibles


Incompatibilidades de matrícula por contenidos equivalentes
Sin Datos


Matriculados (2016-17)
Grupo (*)Número
1 1
TOTAL 1
(*) 1: GRUPO 1 - CAS


Ofertada como libre elección (2016-17)
Sin departamento
Consulta Gráfica de Horario
A efectos de intercambios en programas de movilidad, la carga de esta asignatura equivale aPincha aquí


Horario (2016-17)
Sin horario


Grupos de matricula (2016-17)
Grupo (*)CuatrimestreTurnoIdiomaDistribución (letra nif)
1 2do. M CAS desde - hasta -
(*) 1: GRUPO 1 - CAS


Objetivos de las asignatura / competencias (2016-17)
Presentación
El principal objetivo es introducir al alumno en el paradigma de la programación concurrente y en el uso de las herramientas y técnicas utilizadas en general por los lenguajes concurrentes.

La asignatura está centrada en la descripción de los principios y metodologías de la programación concurrente, en los problemas derivados de la ejecución paralela de procesos y en las técnicas y herramientas existentes para resolver estos problemas.

Las prácticas se realizarán tanto con Pascal Concurrente como con Java. Pascal Concurrente es un lenguaje de programación muy adecuado para la docencia de esta asignatura pero de poca utilidad práctica. Por ello usaremos también Java en algunos de los ejercicios prácticos, que además de ser adecuado para la docencia os será más útil en la práctica profesional.

Por lo demás, será una materia amena, donde espero que aprendáis conceptos y técnicas útiles.

La evaluación se hará según dos modalidades a elegir:

Asistencia regular controlada.
Asistencia libre.

Este año habrá un turno de prácticas y uno de teória.



Contenidos teóricos y prácticos (2016-17)
Temario
Contenido general
Los principales temas a tratar son los siguientes (ver temario detallado más abajo):


¿Qué es la programación Concurrente?
Introducción: conceptos de concurrencia
Multiprogramación
Multitarea
Ejecución concurrente
Problemas de programación concurrente
Objetos compartidos y exclusión Mutua
Regiones críticas
Deadlock (interbloqueo)
Procesos e hilos
Programación concurrente orientada a objetos (hilos en Java)
Semáforos
Monitores y sincronización
Paso de mensajes


Temario detallado
MÓDULO 1: Conceptos fundamentales

PARTE 1: Conceptos fundamentales


Introducción
Hitos en la programación concurrente
Concepto de programación concurrente
Beneficios de la programación concurrente
Concurrencia y arquitecturas hardware
Especificación de ejecución concurrente
Características de los sistemas concurrentes
Problemas inherentes a la programación concurrente
Corrección de programas concurrentes
Preguntas y ejercicios



PARTE 2: Procesos y Pascal-FC


Procesos
Procesos en Pascal-FC



PARTE 3: Hilos y Java


Hilos
Hilos en Java



PARTE 4: Primeras aproximaciones a la solución de los problemas de la programación concurrente


Introducción
Tipos de sincronización y su solución
Espera-Ocupada para la exclusión mutua (soluciones software)
Espera-Ocupada para la exclusión mutua (soluciones hardware)
Resumen
Preguntas y ejercicios

MÓDULO II: Primitivas de sincronización basadas en memoria compartida

PARTE 5. Semáforos


Introducción
Definición de semáforo
Resolución de problemas usando semáforos
Inconvenientes del mecanismo de los semáforos



PARTE 6. Regiones críticas condicionales


Introducción
Definición de región crítica condicional
Resolución de problemas usando regiones críticas condicionales
Inconvenientes del mecanismo de regiones críticas condicionales



PARTE 7. Monitores


Introducción
Definición de monitor
Condición de sincronización en monitores
Resolución de problemas usando monitores

MÓDULO III: Paso de mensajes

A modo de introducción al tema, se recomeinda ver la sección 8 de los apuntes colgados en la sección de materiales.


PARTE 8. Mecanismo de paso de mensaje


Introducción
Identificación en el proceso de comunicación
Sincronización
Canal de comunicación y mensajes
Condiciones de error en los sistemas de paso de mensajes
Espera selectiva



PARTE 9. Paso de mensaje asíncrono



PARTE 10. Paso de mensaje síncrono con canales



PARTE 11. Invocación remota y llamada a procedimiento remoto (RPC)


Más información
Profesor/a responsable
Calera Rubio , Jorge


Metodología docente (2016-17)
No especificado


Tipo de actividades: teóricas y prácticas
No especificado


Profesores (2016-17)
Grupo Profesor/a
TEORIA DE 92421Calera Rubio, Jorge
PRÁCTICAS CON ORDENADOR DE 92421Calera Rubio, Jorge
Enlaces relacionados
http://ants.inf.um.es/staff/jlaguna/jmp/index.php
http://es.wikipedia.org/wiki/Paso_de_mensajes
http://es.wikipedia.org/wiki/Remote_Procedure_Call
http://www.boost.org/doc/libs/?view=category_Concurrent
http://www.chuidiang.com/


Bibliografía

Principios y algoritmos de concurrencia
Autor(es):Galli Granada, Ricardo
Edición:Palma de Mallorca : Barnes and Noble, 2015.
ISBN:9788460687610
Recomendado por:CALERA RUBIO, JORGE (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

Programación Concurrente
Autor(es):Palma, José Tomás
Edición:Madrid : Paraninfo - Thomson Learning, 2003.
ISBN:84-9732-184-7
Recomendado por:CALERA RUBIO, JORGE (*1)
[ Acceso al catálogo de la biblioteca universitaria ]

UNIX : programación avanzada
Autor(es):Márquez García, Francisco Manuel
Edición:Madrid : Ra-Ma, 2004.
ISBN:978-84-7897-603-5
Recomendado por:CALERA RUBIO, JORGE (*1)
[ Acceso al catálogo de la biblioteca universitaria ] [ Acceso a las ediciones anteriores ]
(*1) Este profesor ha recomendado el recurso bibliográfico a todos los alumnos de la asignatura.
Fechas de exámenes oficiales (2016-17)
ConvocatoriaGrupo (*)fechaHora inicioHora finAula(s) asignada(s)Observ:
Periodo ordinario para asignaturas de primer semestre -1 16/01/2017 Contactar con el profesor
Pruebas extraordinarias para asignaturas de grado y máster -1 07/07/2017 Contactad con el profesor
(*) 1: GRUPO 1 - CAS


Instrumentos y criterios de evaluación (2016-17)
No especificado