La planificación de prioridades dinámicas es un tipo de algoritmo de planificación en el que las prioridades se calculan durante la ejecución del sistema. Su objetivo es adaptarse al progreso cambiante y generar una configuración óptima de forma autosostenible. Puede resultar muy difícil definir políticas precisas para lograr este objetivo, dependiendo de la complejidad del problema.
La planificación con fecha límite más temprana primero y la planificación con menor tiempo de holgura son ejemplos de algoritmos de planificación de prioridad dinámica.
Utilización programable óptima
La idea de la planificación en tiempo real es limitar la utilización del procesador a la utilización planificable de un algoritmo de planificación determinado, que se escala de 0 a 1. Una mayor utilización planificable implica una mayor utilización de los recursos y un mejor algoritmo. En la planificación con desalojo, la planificación de prioridad dinámica, como la de plazo más temprano primero (EDF), proporciona una utilización planificable óptima de 1, en contraste con menos de 0,69 con la planificación de prioridad fija, como la de tasa monótona (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 dividido por un período. Cualquier conjunto de tareas periódicas con una utilización total del procesador menor o igual a la utilización planificable de un algoritmo puede ser planificado de manera factible por dicho algoritmo. A diferencia de la prioridad fija, la planificación de prioridad dinámica puede priorizar dinámicamente los plazos de las tareas, logrando una utilización planificable óptima en el caso de interrupción.
Programación con el menor tiempo de holgura posible
La planificación de menor tiempo de holgura ( LST ) o de menor laxitud primero es un algoritmo para la planificación dinámica de prioridades. Este algoritmo asigna prioridades a los procesos en función de su tiempo de holgura . El tiempo de holgura es el tiempo restante después de que una tarea se haya iniciado en el momento. Su uso más común se da en sistemas embebidos , especialmente en aquellos con múltiples procesadores. Este algoritmo impone la sencilla restricción de que cada proceso en cada procesador disponible tenga el mismo tiempo de ejecución y que los procesos individuales no tengan preferencia por un procesador en particular. Esto es lo que lo hace idóneo para sistemas embebidos.
Este algoritmo de planificación selecciona primero los procesos con el menor "tiempo de holgura". El tiempo de holgura se define como la diferencia temporal entre la fecha límite, el tiempo de preparación y el tiempo de ejecución.
De manera más formal, el tiempo de holgurapara un proceso se define como:
dóndees el plazo del proceso,es el tiempo real desde el inicio del ciclo, yes el tiempo de cálculo restante.
En los algoritmos de planificación en tiempo real para tareas periódicas, se requiere una prueba de aceptación antes de aceptar una tarea esporádica con una fecha límite estricta. Una de las pruebas de aceptación más sencillas para una tarea esporádica consiste en calcular el tiempo de holgura entre la hora de lanzamiento y la fecha límite de la tarea.
La planificación LST resulta más útil en sistemas compuestos principalmente por tareas aperiódicas, ya que no se hacen suposiciones previas sobre la frecuencia de ocurrencia de los eventos. Su principal desventaja radica en que no anticipa eventos y solo opera sobre el estado actual del sistema. Por lo tanto, durante una breve sobrecarga de recursos, LST puede ser subóptima. También lo será cuando se utilice con procesos ininterrumpibles. Sin embargo, al igual que la planificación de plazo más temprano primero , y a diferencia de la planificación de tasa monótona , este algoritmo puede utilizarse para una utilización del procesador de hasta el 100%.
Véase también
- Planificación con prioridad según la fecha límite más temprana : un algoritmo diferente para la planificación de prioridad dinámica, que garantiza un rendimiento óptimo.
Referencias
- Algoritmos de planificación
- esbozos de informática