Profesor:  Dr. Carlos Alberto Cruz Villar

Objetivo

Proporcionar las metodologías y técnicas disponibles para diseñar sistemas de tiempo real estricto. 

Contenido 

0. Conceptos Básicos de Programación en C 
0.1  Variables 
0.2  Operadores 
0.3  Control de Flujo 
0.4  Funciones 
0.5  Punteros 
0.6  Arreglos 
0.7  Estructuras 
0.8  Administración de Memoria en C 
0.9  Escritura a puertos y temporización 
0.10  Prácticas de Programación

0.10.1  Aspectos misceláneos de programación 
0.10.2  Adquisición y generación de señales

1. Introducción

1.1  Definición de Sistemas de Tiempo Real (STR) 
1.2  Ejemplos de Sistemas de Tiempo Real 
1.3  Características de Sistemas de Tiempo Real 

2. Programación concurrente

2.1 Definición de Procesos 
2.2 Ejecución concurrente 
2.3 Sincronización 
2.4 Exclusión Mutua 
2.5 Comunicación 
2.6 Implementación de Procesos en RTAI 
2.7 Prácticas de programación

2.7.1 Instalación de RTAI
2.7.2 Escritura y compilación de módulos de Kernel (MK)

3. Comunicación entre procesos

3.1 Semáforos 
3.2 FIFOS 
3.3 Memoria Compartida 
3.4 Mailboxes 
3.5 Prácticas de programación

3.5.2 Comunicación MK – Linux 
3.5.3 Comunicación MK – MK

4. Planificación

4.1 Conceptos de planificación 
4.2 Rate Monotonic 
4.3 Deadline Monotonic 
4.4 Earliest Deadline First 

5. Diseño de STR basado en Redes de Petri

5.1 Introducción a Redes de Petri 
5.2 Modelado de STR usando Redes de Petri 
5.3 Especificaciones de diseño 

Bibliografía

  1.   Karl-Erik Arzen, Real-Time Control Systems, Department of Automatic Control, Lund Institute of Technology, Lund 2001.
  2.   A. Burns and A. Welling, Real-Time Systems and Programming Languages, Addison Wesley, 1997.
  3.   E. Bianchi, L. Dozio, P. Mantegazza., “RTAI, A Hard Real Time support for LINUX”, Dipartimento di Ingegneria Aerospaziale, Politecnico di Milano, 2001.
  4.   Giorgio C. Buttazzo, “Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications” Springer; 2nd ed. Edition.
Volver