La programación de prioridad dinámica es un tipo de algoritmo de programación en el que las prioridades se calculan durante la ejecución del sistema. El objetivo de la programación de prioridad dinámica es adaptarse al progreso que cambia dinámicamente y formar una configuración óptima de manera autosostenida. Puede resultar muy difícil elaborar políticas bien definidas para lograr el objetivo en función de la dificultad de un problema determinado.
La primera programación de la fecha límite más temprana y la programación del menor tiempo de inactividad son ejemplos de algoritmos de programación de prioridad dinámica.
Utilización óptima programable
La idea de la programación en tiempo real es limitar la utilización del procesador a la utilización programable de un determinado algoritmo de programación, que se escala de 0 a 1. Una mayor utilización programable significa una mayor utilización de recursos y mejor el algoritmo. En la programación interrumpible, la programación de prioridad dinámica, como la primera fecha límite más temprana (EDF), proporciona la utilización programable óptima de 1 en contraste con menos de 0,69 con la programación de prioridad fija como la tasa monotónica (RM) . [1]
En el modelo de tareas periódicas en tiempo real, la utilización del procesador de una tarea se define como el tiempo de ejecución durante un período. Cada conjunto de tareas periódicas con una utilización total del procesador menor o igual que la utilización programable de un algoritmo puede programarse de manera factible mediante ese algoritmo. A diferencia de la prioridad fija, la programación de prioridad dinámica podría priorizar dinámicamente los plazos de las tareas, logrando una utilización programable óptima en el caso de preemitir.