Análisis de programación de sistemas en tiempo real


El término análisis de programación en la computación en tiempo real incluye el análisis y la prueba del sistema de programación y los algoritmos utilizados en las aplicaciones en tiempo real. En informática , el análisis de programación en tiempo real es la evaluación, prueba y verificación del sistema de programación y los algoritmos utilizados en las operaciones en tiempo real. Para operaciones críticas, se debe probar y verificar el rendimiento de un sistema en tiempo real.

Un sistema de programación en tiempo real está compuesto por el programador, el reloj y los elementos de hardware de procesamiento. En un sistema de tiempo real, un proceso o tarea tiene capacidad de programación; Las tareas son aceptadas por un sistema en tiempo real y completadas según lo especificado por la fecha límite de la tarea, dependiendo de la característica del algoritmo de programación. [1] La preocupación del modelado y evaluación de un sistema de programación en tiempo real se basa en el análisis de la capacidad del algoritmo para cumplir con una fecha límite del proceso. Una fecha límite se define como el tiempo necesario para que se procese una tarea.

Por ejemplo, en un algoritmo de programación en tiempo real, una fecha límite podría establecerse en cinco nanosegundos. En una operación crítica, la tarea debe procesarse en el tiempo especificado por la fecha límite (es decir, cinco nanosegundos). Una tarea en un sistema de tiempo real debe completarse "ni demasiado temprano ni demasiado tarde; ..". [2] Se dice que un sistema no es programable cuando las tareas no pueden cumplir con los plazos especificados. [3] Una tarea puede clasificarse como un proceso periódico o aperiódico. [4]

Los criterios de un tiempo real se pueden clasificar en duros , firmes o blandos . El planificador establece los algoritmos para ejecutar tareas de acuerdo con un orden específico. [4] Existen múltiples modelos matemáticos para representar un sistema de programación, la mayoría de las implementaciones del algoritmo de programación en tiempo real se modelan para la implementación de configuraciones de monoprocesadores o multiprocesadores. El algoritmo de programación más desafiante se encuentra en multiprocesadores, no siempre es factible implementar un algoritmo de programación monoprocesador en un multiprocesador. [4] Los algoritmos utilizados en el análisis de programación "pueden clasificarse como preventivos o no preventivos" . [1]

Un algoritmo de programación define cómo procesa las tareas el sistema de programación. En términos generales, en el algoritmo de un sistema de programación en tiempo real, a cada tarea se le asigna una descripción, una fecha límite y un identificador (que indica la prioridad). El algoritmo de programación seleccionado determina cómo se asignan las prioridades a una tarea en particular. Un algoritmo de programación en tiempo real se puede clasificar como estático o dinámico. Para un programador estático, las prioridades de las tareas se determinan antes de que se ejecute el sistema. Un programador dinámico determina las prioridades de las tareas mientras se ejecuta. [4] Los elementos de hardware aceptan las tareas en un sistema de programación en tiempo real desde el entorno informático y se procesan en tiempo real. Una señal de salida indica el estado de procesamiento. [5] Una fecha límite de tarea indica el tiempo establecido para completar cada tarea.

No siempre es posible cumplir con el plazo requerido; por lo tanto, se debe realizar una verificación adicional del algoritmo de programación. Se pueden implementar dos modelos diferentes utilizando un algoritmo de programación dinámica; se puede asignar una fecha límite de tarea de acuerdo con la prioridad de la tarea (fecha límite más temprana) o se asigna un tiempo de finalización para cada tarea restando el tiempo de procesamiento de la fecha límite (menor laxitud). [4] Los plazos y el tiempo de ejecución de la tarea requerido deben entenderse de antemano para asegurar el uso efectivo de los tiempos de ejecución de los elementos de procesamiento.