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

UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

Embed Size (px)

Citation preview

Page 1: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1

Introducción al tiempo real en sistemas

empotrados

Departamento de Arquitectura y Tecnología de Computadores

Universidad del País Vasco / Euskal Herriko Unibertsitatea

Master en Ingeniería de Sistemas Empotrados

Page 2: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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

Page 3: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

http://polaris.dit.upm.es/~aalonso/doctorado/str.html#Transparencias

• J.A. de la Puente: Diseño de sistemas de tiempo real.

http://www.depeca.uah.es/docencia/doctorado/cursos04_05/82622/documentos/str/Puente-Desarrollo-str.pdf

Page 4: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 5: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 5

IntroducciónEnfoques (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.

Page 6: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 6

IntroducciónEnfoques (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)

Page 7: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 7

IntroducciónEnfoques (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)

Page 8: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 8

IntroducciónEnfoques (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)

Page 9: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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, …>

Page 10: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 10

Modelo de tareas de tiempo real

• 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.

J0 J1 J2

r0 r1 r2 r3d0 d1 d2

Page 11: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 11

Jk

Rk

Modelo de tareas de tiempo real

• Plazo de ejecución, Dk = dk − rk

– Condición necesaria: Ck < Dk

• Tiempo de respuesta, Rk

Ck

Dk

rkdk

Page 12: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 12

Modelo de tareas de tiempo realPlazos

• 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

Page 13: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 13

Modelo de tareas de tiempo realPlazos

(Extraído del curso de J.A. de la Puente, UPM)

Page 14: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 14

Modelo de tareas de tiempo realPlazos

• 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

Page 15: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 15

Modelo de tareas de tiempo realPará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

Page 16: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 17: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 18: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 18

Criterios para la planificación en tiempo realEjemplo

¿viable?

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 12

Page 19: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 19

Políticas de planificación para tiempo realTipos 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.

Page 20: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 12

Periodo principal: H = mcm(Ti) = 12

τ1 τ2 τ1 τ1 τ1 τ1 τ1τ2 τ2τ2 τ4τ4 τ3τ3

Periodo secundario:TS = 4

Page 21: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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

τ1 τ2 τ1 τ1 τ2τ4τ3

Page 22: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 23: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 23

Políticas de planificación para tiempo real.Ejecutivo cíclico

• No es posible cumplir simultáneamente las condiciones (1) y (3).

• Solución: segmentar tareas.

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 5 12

Page 24: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 24

Políticas de planificación para tiempo real.Ejecutivo cíclico con segmentación de tareas

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ31 0 12 2 12

τ32 - 12 3 12

τ1 τ2 τ1 τ1 τ2τ31 τ32

Page 25: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 25

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.

Page 26: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 27: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 27

Políticas de planificación para tiempo real.RM

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 12

τ1 τ2 τ1 τ1 τ1 τ1 τ1τ2 τ2τ2 τ4τ4 τ3τ3 τ4 τ4 τ4 τ4

Page 28: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 28

Políticas de planificación para tiempo real.DM vs RM

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 9

τ1 τ2 τ1 τ1τ2τ4τ3 τ4RM τ4

D4 se cumple!

τ1 τ2 τ1 τ1τ2τ4 τ3τ4 τ3DM

Page 29: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 29

Políticas de planificación para tiempo real.EDF

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 12

τ1 τ2 τ1 τ1τ2τ4τ3 τ4 τ4

Page 30: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 30

Políticas de planificación para tiempo real.EDF

Φ T C D

τ1 0 4 1 4

τ2 0 6 1 6

τ3 0 12 2 12

τ4 0 12 3 9

τ1 τ2 τ1 τ1τ2τ4 τ3τ4

Page 31: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.

Page 32: UPV - EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Introducción al tiempo real

UPV - EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento 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.