En ciencias de la computación, RMS (Rate Monotonic Scheduling)[1] es un algoritmo de programación utilizado en los sistemas operativos de tiempo real con prioridad estática.[2][3] Las prioridades estáticas se asignan en función de la duración del período del trabajo. El trabajo más corto tiene la de mayor prioridad.
Estos sistemas operativos son apropiativos (con desalojo) y tienen garantías deterministas en cuanto a los tiempos de respuesta. RMS se utiliza en conjunción con esos sistemas para proporcionar garantías de tiempos de respuesta para una aplicación particular.
La versión básica del algoritmo de planificación de tasa monotónica asume que los procesos/hilos tienen las siguientes propiedades:
Se trata de un modelo matemático que contiene una simulación calculada de períodos en un sistema cerrado, donde los planificadores round robin de tiempo compartido no cumplen con la programación de las necesidades. La planificación RMS realiza una modelización de ejecución de todos los procesos/hilos en el sistema y determina la cantidad de tiempo que se necesita para cumplir con las garantías para el conjunto de procesos/hilos que se trate.
Layland en 1973 demostró que para un conjunto de n tareas periódicas con períodos únicos, existe una planificación factible que siempre va a cumplir con los plazos si la utilización de la CPU está por debajo de un límite dependiente del número de tareas. La prueba de planificabilidad para RMS es:
donde Ci es el tiempo de computo, Ti es el período y n es el número de procesos/hilos.
Entonces
Con lo que encontramos un método fácil de calcular la planificabilidad.