La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción al tiempo real en sistemas empotrados

Presentaciones similares


Presentación del tema: "Introducción al tiempo real en sistemas empotrados"— Transcripción de la presentación:

1 Introducción al tiempo real en sistemas empotrados
Master en Ingeniería de Sistemas Empotrados Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea Introducción al tiempo real en sistemas empotrados Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

2 Contenido Introducción Soporte de interrupciones
Conceptos de sistemas operativos Planificación en sistemas de tiempo real Mecanismos de sincronización y comunicación Planificación de tiempo real con recursos compartidos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

3 Planificación en sistemas de tiempo real
CONTENIDO Introducción Modelo de tareas de tiempo real Criterios para la planificación en tiempo real Políticas de planificación para tiempo real Planificación con tareas aperiódicas BIBIOGRAFIA Q. Li: Real-Time concepts for embedded systems. CMP Books, 2003. J. Liu: Real-Time Systems, Prentice-Hall, 2000 H. Kopetz: Real-Time Systems: design principles for distributed embedded applications. Kluwer, 1997. J.A. de la Puente et al: Introducción a los sistemas de tiempo real. J.A. de la Puente: Diseño de sistemas de tiempo real. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

4 Introducción Dado un conjunto de tareas, se trata de planificar su ejecución de forma que todas ellas cumplan los plazos. Requiere políticas de planificación específicas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

5 Introducción Enfoques (1)
Algunos sistemas operativos soportan procesos de “clase de tiempo real”. Son procesos con prioridades estáticas más altas que los procesos de tiempo compartido. Ejemplos: Unix SVR4, Windows Sólo adecuados para sistemas flexibles (soft real-time): Contienen código no expulsable en el núcleo. En general, demasiado voluminosos para sistemas empotrados y poco fiables. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

6 Introducción Enfoques (2)
Enfoque de máquina virtual Un núcleo RT planifica el SO como una tarea más. Ejemplo: RT-Linux El núcleo RT intercepta las interrupciones del hardware, por lo que la ejecución del SO puede ser interrumpida en cualquier momento. Es posible comunicar tareas mediante colas FIFO. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

7 Introducción Enfoques (3)
Sobre la máquina desnuda: fabricar un núcleo básico ad-hoc con un planificador de tareas de tiempo real. Costoso en tiempo de desarrollo. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

8 Introducción Enfoques (4)
Sistemas Operativos de Tiempo Real (RTOS) específicos. Flexibles Ejemplos: LynxOS, QNX, VxWorks, FreeRTOS, MARTE (Univ. de Cantabria)… Estándar POSIX: apartados para sistemas de tiempo real que definen normas y servicios específicos a incluir. (Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

9 Modelo de tareas de tiempo real
Acción. Mínima cantidad de cómputo en un sistema de tiempo real. Ejemplo: decodificar un cuadro de video. Requiere un recurso de cómputo. Tarea. Conjunto de acciones repetidas a lo largo del tiempo. Ejemplo: visualizar una secuencia de video. τ = <J1, J2, …> Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

10 Modelo de tareas de tiempo real
J0 J1 J2 r0 d0 r1 d1 r2 d2 r3 Instante de activación de la acción, rk La acción puede empezar a ejecutarse. límite de la acción, dk. La acción debe haber terminado Tarea periódica: rk = r0 + kT Habitualmente: rk+1 = di y entonces el periodo es: T = dk − rk Tarea aperiódica: rk+1 − rk variable. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

11 Modelo de tareas de tiempo real
rk dk Dk Ck Jk Rk Plazo de ejecución, Dk = dk − rk Condición necesaria: Ck < Dk Tiempo de respuesta, Rk Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

12 Modelo de tareas de tiempo real Plazos
Plazo estricto Todas las acciones deben ocurrir dentro del plazo Los fallos pueden ser catastróficos Ejemplo: sistema de control de vuelo Plazo flexible Se pueden incumplir plazos de vez en cuando El valor de la respuesta decrece con el paso del tiempo Ejemplo: sistema de adquisición Plazo firme Se pueden perder plazos ocasionalmente Las respuestas fuera de plazo no tienen valor Ejemplo: Sistemas multimedia Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

13 Modelo de tareas de tiempo real Plazos
(Extraído del curso de J.A. de la Puente, UPM) Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

14 Modelo de tareas de tiempo real Plazos
Sistemas garantizados Plazos estrictos Validación Sistemas de esfuerzo óptimo (best-effort) Plazos flexibles Requisitos estadísticos Criterios de Calidad de Servicio (QoS): Tasa de cumplimiento del plazo Tiempos de respuesta etc Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

15 Modelo de tareas de tiempo real Parámetros
N tareas periódicas 1 procesador Parámetros temporales de las tareas: Tarea i : (Φi, Ti, Ci, Di) Una acción Ji,k Se activa en ri,k = Φi + kTi Debe terminar antes de di,k = Φi + kTi + Di Habitualmente: Di = Ti Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

16 Criterios para la planificación en tiempo real
Dado un conjunto de tareas de tiempo real {1, 2, …, N} el objetivo es proporcionar una planificación viable. Condición necesaria para la viabilidad (para tareas periódicas): U=∑ Ci/Ti < 1 Tareas aperiódicas: encontrar periodo mínimo (si es posible) y expresarlas como periódicas con ese periodo. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

17 Criterios para la planificación en tiempo real
La viabilidad es un criterio absoluto en sistemas de plazo estricto. Sistemas de plazo no estricto: Plazo flexible: minimizar la magnitud de los retrasos. Plazo firme: minimizar el número de retrasos. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

18 Criterios para la planificación en tiempo real Ejemplo
Φ T C D 1 4 1 2 6 3 12 2 4 3 ¿viable? Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

19 Políticas de planificación para tiempo real Tipos de planificación
Según cuándo se elabora la planificación: Planificación estática Todos los parámetros temporales son fijos y conocidos. Puede establecerse un hiperperiodo (m.c.m. de todos los Ti). El plan se elabora antes de la ejecución y se almacena en una tabla. El planificador se limita a consultar la tabla en determinados instantes para seleccionar la tarea a ejecutar. Planificación dinámica No existe un plan preestablecido. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

20 Políticas de planificación para tiempo real. Ejecutivo cíclico
Planificación estática con un esquema periódico. Φ T C D 1 4 1 2 6 3 12 2 4 3 Periodo principal: H = mcm(Ti) = 12 Periodo secundario: TS = 4 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

21 Políticas de planificación para tiempo real. Ejecutivo cíclico
Plan cíclico: Ciclo secundario Acciones a activar 1 1 2 3 2 1 4 3 1 2 T2 no se puede poner en el segundo porque el ejecutivo podría lanzarla inmediatamente (por ejemplo, si otras son aperiódicas, se modelan como periódicas, y no se lanzan). El ejecutivo cuenta con encontrase las tareas ya liberadas. 1 2 3 1 4 1 2 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

22 Políticas de planificación para tiempo real. Ejecutivo cíclico
¿Cómo definir el periodo secundario, TS? Condiciones: La ejecución de cada acción debe caber en un ciclo. Debe ser un divisor entero del periodo de alguna tarea (y por lo tanto de H). Entre el periodo de activación de una acción y su tiempo límite debe de haber al menos un ciclo completo. Si la ejecución de una tarea rebasa el límite, no se pueden lanzar las del siguiente ciclo. Para poder definir los ciclos de la misma duración. Para garantizar que la tarea de mayor frecuencia se ejecuta siempre. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

23 Políticas de planificación para tiempo real. Ejecutivo cíclico
Φ T C D 1 4 1 2 6 3 12 5 No es posible cumplir simultáneamente las condiciones (1) y (3). Solución: segmentar tareas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

24 Políticas de planificación para tiempo real
Políticas de planificación para tiempo real. Ejecutivo cíclico con segmentación de tareas Φ T C D 1 4 1 2 6 31 12 2 32 - 3 1 2 31 1 32 1 2 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

25 Sólo apto para tareas periódicas.
Políticas de planificación para tiempo real. Ejecutivo cíclico. Limitaciones. En general, el problema de construir el plan cíclico es muy complejo (NP-duro). Sólo apto para tareas periódicas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

26 Políticas de planificación para tiempo real. Basadas en prioridades
Las tareas son expulsables. Admiten tareas aperiódicas (y esporádicas). Prioridades fijas: Rate Monotonic (RM). Mayor prioridad para las tareas de menor periodo. Deadline Monotonic (DM). Mayor prioridad para las tareas de plazo más corto. (RM y DM son equivalentes cuando Di = Ti). Prioridades dinámicas: Earliest Deadline First (EDF). Se planifica la tarea cuyo plazo está más cercano a expirar. La condición de viabilidad (U<1) es necesaria y suficiente para que EDF encuentre una forma de cumplir todos los plazos. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

27 Políticas de planificación para tiempo real. RM
Φ T C D 1 4 1 2 6 3 12 2 4 3 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

28 Políticas de planificación para tiempo real. DM vs RM
Φ T C D 1 4 1 2 6 3 12 2 4 3 9 1 2 4 3 RM 4 D4 se cumple! 1 2 4 3 DM Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

29 Políticas de planificación para tiempo real. EDF
Φ T C D 1 4 1 2 6 3 12 2 4 3 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

30 Políticas de planificación para tiempo real. EDF
Φ T C D 1 4 1 2 6 3 12 2 4 3 9 1 2 4 3 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

31 Planificación con tareas aperiódicas
Tarea aperiódica Se activa como respuesta a un suceso externo. Puede tener restricciones de tiempo o no. Tarea esporádica: Tarea aperiódica con restricciones de tiempo críticas. Objetivos: Garantizar plazos de las tareas críticas (esporádicas y periódicas). Buenos tiempos de respuesta para las aperiódicas no críticas. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores

32 Planificación con tareas aperiódicas. Políticas
Procesamiento en segundo plano Prioridades bajas para las tareas aperiódicas no críticas. Procesamiento por interrupciones Las tareas aperiódicas se tratan inmediatamente. Reserva de ancho de banda Reserva a priori de capacidad de CPU para tareas aperiódicas. Se procesan inmediatamente. Extracción dinámica de holgura Reserva de capacidad de CPU para tareas aperiódicas en tiempo de ejecución. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores


Descargar ppt "Introducción al tiempo real en sistemas empotrados"

Presentaciones similares


Anuncios Google