UT01: Programación multiproceso.

CP

OG

RA

Contenidos propuestos

Contenidos según normativa

 

b), e), i), j), l), n), t), w)

 

 

b), e), i), j), l), ñ)

 

1

 


   1.- Recordando cómo programar en Java y el uso básico del IDE NetBeans.  
     2.- Introducción: Aplicaciones, Ejecutables y Procesos.  
         2.1.- Ejecutables. Tipos.  
     3.- Gestión de procesos.  
         3.1.- Gestión de procesos. Introducción.  
         3.2.- Estados de un Proceso.  
         3.3.- Planificación de procesos por el Sistema Operativo.    
             3.3.1.- Planificación de procesos por el Sistema Operativo (II).     
         3.4.- Cambio de contexto en la CPU.     
         3.5.- Servicios. Hilos.     
         3.6.- Creación de procesos.     
         3.7.- Comandos para la gestión de procesos.     
         3.8.- Herramientas gráficas para la gestión de procesos.    
 
     4.- Programación concurrente.     
          4.1.- ¿Para qué concurrencia?  
         4.2.- Condiciones de competencia.    
 
     5.- Comunicación entre procesos.
         5.1.- Mecanismos básicos de comunicación.  
         5.2.- Tipos de comunicación.
    
 
     6.- Sincronización entre procesos.  
         6.1.- Regiones críticas.  
             6.1.1.- Categoría de proceso cliente-suministrador.  
         6.2.- Semáforos.  
         6.3.- Monitores.
             6.3.1.- Monitores: Lecturas y escrituras bloqueantes en recursos compartidos.  
         6.4.- Memoria compartida.  
         6.5.- Cola de mensajes.     
 
     7.- Requisitos: seguridad, vivacidad, eficiencia y reusabilidad.
         7.1.- Arquitecturas y patrones de diseño.  
         7.2.- Documentación.
         7.3.- Dificultades en la depuración.    
 
     8.- Programación paralela y distribuida.
         8.1.- Conceptos básicos.  
         8.2.- Tipos de paralelismo.
         8.3.- Modelos de infraestructura para programación distribuida.

 

 

  • Ejecutables. Procesos. Servicios.
  • Estados de un proceso.
  • Planificación de procesos por el sistema operativo.
  • Hilos.
  • Programación concurrente.
  • Programación paralela y distribuida.
  • Creación de procesos.
  • Comunicación entre procesos.
  • Gestión de procesos.
  • Comandos para la gestión de procesos en sistemas libres y propietarios.
  • Herramientas gráficas para la gestión de procesos en sistemas libres y propietarios.
  • Sincronización entre procesos.
  • Programación de aplicaciones multiproceso.
  • Documentación.
  • Depuración.

 

 

CP = Competencias Profesionales. OG = Objetivos Generales. RA: Resultados de Aprendizaje

En las columnas CPOG y RA, el número o letra se corresponde con las tablas anteriores.

Criterios de evaluación
CE Descripción Ponderación
1a Se han analizado las características de los procesos y de su ejecución por el sistema operativo. 2
1b

Se han caracterizado los hilos de ejecución y descrito su relación con los procesos.

2

1c

Se han reconocido las características de la programación concurrente y sus ámbitos de aplicación.

2

1d

Se han identificado las diferencias entre programación paralela y programación distribuida, sus ventajas e inconvenientes.

3

1e

Se han utilizado clases para programar aplicaciones que crean subprocesos.

3

1f

Se han utilizado mecanismos para sincronizar y obtener el valor devuelto por los subprocesos iniciados.

3

1g

Se han desarrollado aplicaciones que gestionen y utilicen procesos para la ejecución de varias tareas en paralelo.

3

1h Se han depurado y documentado las aplicaciones desarrolladas. 2