Descargar

Introducción al tiempo real en sistemas empotrados

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    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

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    edu.red

    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.

    t =

    edu.red

    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 r3 d0 d1 d2

    edu.red

    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 rk dk

    edu.red

    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

    edu.red

    Modelo de tareas de tiempo realPlazos (Extraído del curso de J.A. de la Puente, UPM)

    edu.red

    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

    edu.red

    Modelo de tareas de tiempo realParámetros N tareas periódicas 1 procesador Parámetros temporales de las tareas: Tarea ?i : (Fi, Ti, Ci, Di) Una acción Ji,k Se activa en ri,k = Fi + kTi Debe terminar antes de di,k = Fi + kTi + Di Habitualmente: Di = Ti

    edu.red

    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.

    edu.red

    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.

    edu.red

    Criterios para la planificación en tiempo realEjemplo ¿viable?

    Partes: 1, 2
    Página siguiente