Beruflich Dokumente
Kultur Dokumente
2009-2010
|Nombre y Apellidos
GRADO EN TTULO DEL GRADO
La asignatura Sistemas de Tiempo Real contempla los conceptos especficos que se deben tener en cuenta
a la hora de programar e implementar este tipo de sistemas. La definicin temporal de tareas y actividades
est focalizada a conseguir la consecucin de los objetivos de la asignatura, teniendo en cuenta que se
condensan muchos principios y paradigmas relativos al funcionamiento de los sistemas operativos: ejecucin
de tareas, memoria compartida, planificacin de ejecucin, etc. Es importante asimilar los conceptos tericos
para poder realizar correctamente las pruebas de evaluacin a distancia de la asignatura.
El objetivo de esta asignatura se centra en que el estudiante adquiera los conocimientos y competencias
reflejados en la gua general de la asignatura. Sistemas de Tiempo Real tiene asignados 5 ETCS (crditos
europeos), 2 de teora y 3 de prctica. Un crdito equivale a 25 horas, lo que implica unas 125 horas de
estudio y trabajo en total a lo largo de las 12 semanas disponibles para el curso.
Los crditos asignados estn en consonancia con los contenidos, distribuidos en tres mdulos de tres, cinco
y tres temas/unidades respectivamente, tal y como se detalla en el programa de la asignatura. En el caso de
los mdulos 2 y 3, se deben realizar varios trabajos especficos: instalacin/uso de un sistema operativo en
tiempo real, instalacin/configuracin de una implementacin de RTSJ y un pequeo ejemplo de
programacin de una aplicacin simple en tiempo real. Adicionalmente, hay una ltima prueba de evaluacin
a distancia con una extensin temporal algo ms larga, que incluye el desarrollo de una ltima prctica de
integracin de cdigo especfico de tiempo real con un entorno no de tiempo real. Todas las pruebas
debern entregase a travs de los recursos de la plataforma virtual.
El cuadro siguiente muestra el cronograma que marca unas pautas adecuadas para que el alumno medio,
que comienza a estudiar al principio del segundo semestre, alcance los objetivos al final del curso. Este
cronograma incluye los contenidos de cada tema y las actividades a realizar, tanto de estudio terico como
prctico.
CONTENIDOS PLAN DE ACTIVIDADES
(2 SEMANAS)
1. Definicin de un sistema de tiempo real 1. Estudiar el captulo 1 del libro base recomendado
(Introduccin a los sistemas en tiempo real, edicin
2. Ejemplos de sistemas en tiempo real
2009 en ingls).
3. Caractersticas de los sistemas de tiempo real
2. Realizar los ejercicios de autoevaluacin de la unidad
4. Ciclo de desarrollo para sistemas de tiempo real
1, disponibles en la plataforma.
5. Lenguajes de programacin de sistemas de tiempo real
1. Gestin de las excepciones en lenguajes de tiempo real 1. Estudiar el captulo 3 del libro base recomendado
antiguos (Excepciones y manejo de excepciones).
1. Exclusin mutua y condicin de sincronizacin 1. Estudiar el captulo 5 del libro base recomendado
(Sincronizacin y comunicacin basada en variables
2. Espera ocupada
compartidas).
3. Suspender y reanudar
2. Realizar los ejercicios de autoevaluacin de la unidad
4. Semforos
5, disponibles en la plataforma.
5. Regiones crticas condicionales
6. Monitores
5. Mensajes POSIX
6. Sistemas Distribuidos
1. Control de recursos y acciones atmicas 1. Estudiar el captulo 8 del libro base recomendado
(Control de recursos).
2. Gestin de recursos
2. Realizar los ejercicios de autoevaluacin de la unidad
3. Potencia expresiva y facilidad de uso
8, disponibles en la plataforma.
4. La funcionalidad de re-encolado
3. Realizar la primera PED (Prueba de evaluacin a
5. Nombramiento asimtrico y seguridad
Distancia, PED1), consistente en la instalacin y
6. Utilizacin de los recursos configuracin de un sistema operativo en tiempo real
6. mbitos temporales
El temario se estructura en tres mdulos que agrupan los contenidos bsicos a desarrollar en la asignatura:
Introduccin a los sistemas de tiempo real, Concurrencia y aspectos relativos (acceso a la informacin en los
STR) y Temporizacin de tareas (ejecucin y planificacin e tareas en STR). Se han planteado en este orden
para conseguir que el alumno, de forma gradual, pueda ir adquiriendo los conocimientos bsicos necesarios
para superar la asignatura. Dichos conocimientos bsicos se demostrarn en el desarrollo de la prctica
final, donde se aplicarn dichos conceptos en un sistema de tiempo real basado en Linux (RTLinux) y el
desarrollo de ejemplos prcticos de programacin en sistemas de tiempo real usando la especificacin Real
Time Specification for Java (RTSJ) y una de las implementaciones de referencia (IBM Real Time).
Para el estudio de la asignatura, se debe tener e cuenta que la disponibilidad del libro en espaol puede ser
limitada y, por tanto, se recomienda usar la edicin actualizada en ingls (adems de ser una versin ms
reciente y corregida). En esta gua de estudio, para cada mdulo, se muestra la correlacin entre el temario y
el material de estudio para ambas ediciones del libro. Se debe tener en cuenta que el uso del libro en ingls,
le ayudar tambin a adquirir una de las competencias bsicas en la titulacin: Competencia general CG12
de Comprensin de textos tcnicos en lengua inglesa.
2.1.1. Introduccin
El primer mdulo se estructura en cuatro temas/unidades. Se explican los fundamentos de los sistemas de
tiempo real y las caractersticas a tener en cuenta en su desarrollo. Se define el modelo de fallo y el
concepto de tolerancia a fallos, indicando algunas tcnicas para su resolucin. Se termina el mdulo
explicando cmo se gestionan las excepciones (posibles errores) desde el punto de vista del lenguaje de
programacin y del propio sistema operativo (en tiempo real o no)
2.1.2. Contextualizacin
Estos contenidos debern ser los primeros que el alumno tendr que estudiar, y en este orden, antes de
abordar contenidos ms especficos sobre el diseo y programacin de sistemas de tiempo real.
Los contenidos correspondientes al primer mdulo se encuentran definidos en su totalidad en el libro base
de la asignatura, disponible en espaol y en ingls (versin actualizada). Se recomienda el uso del libro en
ingls, por estar actualizado:
Real Time Systems and Programming Languages. Alan Burns y Andy Wellings. Editorial: Addison-Wesley,
4 Edicin (2009). ISBN: 978-0-321-41745-9
Sistemas de tiempo real y lenguajes de programacin. Alan Burns y Andy Wellings. Editorial: Addison-
Wesley, 3 Edicin (2003). ISBN: 84-7829-058-3
Dado que existen dos ediciones del libro, en la tabla mostrada a continuacin se muestra la correlacin de
los elementos de estudio de cada unidad con cada versin del libro.
2.2.1. Introduccin
Este mdulo explica los conceptos de ejecucin concurrente, que se basa en el modelo de
procesos/tareas/hebras. Se indica cmo se implementa la concurrencia en los tres modelos de programacin
(Java RT, Ada y C/Real Time POFIX) para pasar a describir como se implementan los mecanismos de
comunicacin y sincronizacin mediante variables compartidas y mensajes. A continuacin, se introduce el
concepto de accin atmica y la forma de implementarlas en los tres modelos de programacin propuestos.
Se finaliza el mdulo explicando la gestin de acceso a los recursos y el modelo de interbloqueo.
2.2.2. Contextualizacin
Los resultados de aprendizaje para cada este mdulo son los siguientes:
- Asimilar el modelo de ejecucin concurrente y los elementos asociados (Unidad/Tema 4)
- Ser capaz de emplear estructuras como monitores, regiones crticas y semforos para el control de
acceso a informacin compartida (Unidad/Tema 5)
- Manejar la estructura de mensajes de los sistemas operativos como medio especfico para compartir
informacin entre tareas/procesos (Unidad/Tema 6)
- Analizar la estructura de los mensajes POSIX y generarlos mediante programacin de los mismos
(Unidad/Tema 6)
- Entender el concepto de accin atmica, siendo capaz de generar modelos de transferencia
asncronas en varios lenguajes (Unidad/Tema 7)
- Asimilar el modelo de interbloqueo y sus implicaciones en el desarrollo de modelos de ejecucin
concurrente (Unidad/Tema 8)
Los contenidos correspondientes al segundo mdulo se encuentran definidos en su totalidad en el libro base
de la asignatura, disponible en espaol y en ingls (versin actualizada). Se recomienda el uso del libro en
ingls, por estar actualizado:
Real Time Systems and Programming Languages. Alan Burns y Andy Wellings. Editorial: Addison-Wesley,
4 Edicin (2009). ISBN: 978-0-321-41745-9
Sistemas de tiempo real y lenguajes de programacin. Alan Burns y Andy Wellings. Editorial: Addison-
Wesley, 3 Edicin (2003). ISBN: 84-7829-058-3
Dado que existen dos ediciones del libro, en la tabla mostrada a continuacin se muestra la correlacin de
los elementos de estudio de cada unidad con cada versin del libro.
Unidad Edicin Ingls (2009) Edicin Espaol (2003)
Unidad 4 Captulo 4, excepto puntos 4.7 y 4.9 Captulo 7 completo.
Unidad 5 Captulo 5, excepto puntos 5.7, 5.10 y Captulo 8 completo.
5.11
Unidad 6 Captulo 6,excepto punto 6.9 Captulo 9, excepto el punto 9.6 y en
el punto 9.3 no se debe tener en
cuenta el apartado sobre OCCAM2.
Unidad 7 Captulo 7 completo. Captulo 10 completo.
Unidad 8 Captulo 8 completo. Captulo 11 completo.
Adicionalmente, las PED1 y PED2 (instalacin/configuracin de un sistema operativo en tiempo real y una
implementacin de RTSJ) necesitan de material complementario que se ubicar en el curso virtual:
- Mquina virtual con la distribucin del sistema operativo en tiempo real (RTLinux basado en Debian).
- Extensiones necesarias para el desarrollo de la prctica (libreras Java), correspondientes a la
implementacin de referencia de RTSJ.
- Cualquier otro material necesario (documentacin, software adicional, etc.).
2.3.1. Introduccin
Este mdulo explica los mecanismos de temporizacin que se pueden aplicar en un sistema de tiempo real,
tomando como base el reloj del sistema en tiempo real. Una vez definidos los conceptos necesarios
(timeouts, mbitos temporales, etc.) se explica la forma de categorizar las tareas para su inclusin y
priorizacin en la programacin temporal del sistema. Una vez hecho esto, se pueden aplicar varias
estrategias de planificacin basadas en prioridades o tiempos de ejecucin. Se termina el mdulo mostrando
los detalles especficos de programacin sobre entornos de ejecucin asociados a los mecanismos de
entrada/salida de dichos entornos.
2.3.2. Contextualizacin
1. Entender la nocin de tiempo en un sistema de tiempo real y los mbitos temporales asociados.
2. Comprender el modelo de planificacin de tareas de un sistema de tiempo real, y las diferentes
alternativas existentes en los anlisis de los tiempos de respuesta.
3. Profundizar en los mecanismos de programacin de bajo nivel, como son el acceso al hardware de
E/S y tareas del ncleo del sistema operativo.
2.3.3. Resultados de aprendizaje asociados a los contenidos
Los resultados de aprendizaje para cada este mdulo son los siguientes:
- Analizar la definicin de reloj de un sistema de tiempo real y ser capaz de definir los elementos
asociados al tratamiento de un reloj en un sistema de tiempo real: retardos, timeouts, etc.
(Unidad/Tema 9)
- Ser capaz de implementar pruebas de planificabilidad de conjuntos de procesos, mejorando la
eficiencia de la ejecucin de los procesos en cuanto al aseguramiento del cumplimiento de los
tiempos de ejecucin (Unidad/Tema 10)
- Analizar los problemas derivados del modelo de interbloqueo en la planificacin de un conjunto de
procesos con prioridades de ejecucin especificadas como requisito (Unidad/Tema 10)
Manejar los mecanismos de E/S proporcionados por los mecanismos de bajo nivel y su implicacin
en la planificabilidad de tareas (Unidad/Tema 11)
Los contenidos correspondientes al tercer mdulo se encuentran definidos en su totalidad en el libro base de
la asignatura, disponible en espaol y en ingls (versin actualizada). Se recomienda el uso del libro en
ingls, por estar actualizado:
Real Time Systems and Programming Languages. Alan Burns y Andy Wellings. Editorial: Addison-Wesley,
4 Edicin (2009). ISBN: 978-0-321-41745-9
Sistemas de tiempo real y lenguajes de programacin. Alan Burns y Andy Wellings. Editorial: Addison-
Wesley, 3 Edicin (2003). ISBN: 84-7829-058-3
Dado que existen dos ediciones del libro, en la tabla mostrada a continuacin se muestra la correlacin de
los elementos de estudio de cada unidad con cada versin del libro.
Adicionalmente, para la PED3 (desarrollo de una aplicacin en tiempo real con RTSJ) se ubicar todo el
material complementario en el curso virtual que sea necesario (documentacin, software adicional, etc.). En
cuanto a la PED4 (que se corresponde con el desarrollo de la integracin de cdigo en tiempo real con
cdigo no en tiempo real) necesita material complementario que se ubicar en el curso virtual:
- Extensiones necesarias para el desarrollo de la prctica (libreras Java), correspondientes al entorno
de ejecucin de tiempo no real.
- Cualquier otro material necesario (documentacin, software adicional, etc.).
Un aspecto importante de la metodologa es aplicar los conocimientos adquiridos en los tres mdulos para la
realizacin de las diferentes pruebas de evaluacin a distancia, as que es importante seguir el ritmo de
trabajo detallado en la seccin de Plan de trabajo con el fin de conseguir que los elementos a desarrollar en
las pruebas de evaluacin a distancia estn asimilados y no sean un obstculo para la realizacin de dichas
pruebas.
Los medios y recursos de los que dispone el alumno estn descritos en la primera parte de la gua del curso,
y cualquier otro recurso necesario ser publicado en el curso virtual.
3.2. Evaluacin
Pruebas de evaluacin a distancia: Existen cuatro, correspondientes a cuatro trabajos prcticos a realizar
tal y como se indica en el cronograma de trabajo de la asignatura:
1. Las dos primeras pruebas tienen una valoracin total de un 5% sobre la nota final de la
asignatura. Es obligatorio realizar estas dos pruebas para poder aprobar la asignatura, debiendo
obtener una nota superior o igual a cinco en cada una de ellas.
2. La tercera prueba tiene una ponderacin del 10% y como las pruebas anteriores, es obligatorio
realizarla y obtener una nota superior o igual a cinco en la valoracin de la prueba.
3. La prctica final o PED4 se corresponde con el 20% de la nota y se debe desarrollar siguiendo las
directrices que se especificaran en el curso virtual de la asignatura (junto con todos los recursos
asociados a la misma). Es obligatorio hacerla para poder aprobar la asignatura (de manera
independiente al examen), debiendo obtenerse una nota superior o igual a cinco en la valoracin de
la prueba.
Realizacin de un examen terico/prctico. El examen constar de 20 preguntas de tipo test (similar a los
cuestionarios de autoevaluacin de los mdulos) y se corresponde con el 60% de la nota. El examen se
valorar sobre una nota total de 10.
Para que un alumno pueda aprobar la asignatura deber haber superado el examen terico (un cinco
sobre diez, como mnimo) y haber aprobado las pruebas de evaluacin a distancia. La nota final se
calcula de la siguiente manera
Solo se tendrn en cuenta aquellas calificaciones que tengan aprobadas tanto el examen como la
prctica.