La programación de tarifa monótona (en inglés, programación de tarifa monótona ) es un algoritmo para programar en tiempo real en línea con prioridad constante (estática). Asigna la prioridad más alta a la tarea con el período más pequeño. RMS es óptimo como parte de un sistema de tareas periódicas , síncronas , independientes y con vencimiento a pedido con un programador preventivo . Por lo tanto, generalmente solo se usa para programar tareas que verifican estas propiedades.
Este algoritmo fue propuesto por primera vez en un artículo publicado por Liu y Layland .
Además monótonamente algoritmo de velocidad, este documento describe una tareas de modelado en base a un triplete ( , , ), y un método para el cálculo de las respuestas de los peores momentos para la maduración de los sistemas de trabajo o igual que el período.
Este documento se considera actualmente una base para la programación en tiempo real.
La tarea (o tareas en inglés) son las entidades manipuladas por el algoritmo. Cada tarea se modela mediante una cuádruple ( , , , ), donde:
Sin embargo, dado que el algoritmo es óptimo solo en un contexto de tareas simultáneas (es decir, la fecha de activación de cada tarea es cero) y se vence a pedido (es decir ), no es raro modelar las tareas solo por un doblete ( , ).
Para validar un sistema de tareas programadas de esta forma, se ofrecen dos medios:
También existe una condición suficiente con respecto a la carga del procesador . Su prueba de aceptabilidad para un sistema compuesto por tareas, que se pueden realizar fuera de línea, nos lo da la siguiente fórmula:
Por ejemplo, la carga límite para la que es válido este criterio es .
Y cuando el número de tareas tiende a infinito :
Así, se estima en el caso general que un RMS puede cumplir con todos los plazos si el uso del procesador es menor o igual al 69,3% . El 30,7% restante se puede dedicar a tareas de baja prioridad que no son de tiempo real.
Sin embargo, esta condición es suficiente pero no necesaria. Es muy posible que un sistema de tareas con una carga total del 100% sea programable, mientras que otro sistema de tareas con una carga agregada del 80% no lo sea. Todo depende de las características del sistema de tareas.
La condición suficiente solo es válida si el algoritmo es óptimo.
La simulación también es válida solo si el algoritmo es óptimo. Sin embargo, es posible hacerla válida para otros casos ampliando el período de simulación.
El cálculo del peor tiempo de respuesta sigue siendo válido en cualquier situación.
El algoritmo de plazos monótonos también es óptimo en una situación en la que los plazos y los plazos son idénticos, en el hecho de que los algoritmos son entonces idénticos y, además, el DMS es óptimo cuando los plazos son inferiores a los períodos.
En el marco más general de tareas concretas independientes , periódicas y no simultáneas con una fecha límite arbitraria , el algoritmo de Audsley proporciona un método óptimo de programación.