Programación de tarifa monotónica

La programación monotónica de tarifas es un algoritmo de prioridad que pertenece a la categoría de programación de prioridad estática de los sistemas operativos en tiempo real . Es de carácter preventivo. La prioridad se decide de acuerdo con el tiempo de ciclo de los procesos que están involucrados. Si el proceso tiene una duración de trabajo pequeña, entonces tiene la prioridad más alta. Por lo tanto, si un proceso con la prioridad más alta comienza a ejecutarse, se adelantará a los otros procesos en ejecución. La prioridad de un proceso es inversamente proporcional al período durante el cual se ejecutará.

Un conjunto de procesos puede programarse solo si satisfacen la siguiente ecuación:

Donde n es el número de procesos en el conjunto de procesos, Ci es el tiempo de cálculo del proceso, Ti es el período de tiempo para que se ejecute el proceso y U es la utilización del procesador.

Ejemplo:
un ejemplo para comprender el funcionamiento del algoritmo de programación monotónica de tasa.

Procesos Tiempo de ejecución (C) Período de tiempo (T)
P1 3 20
P2 2 5
P3 2 10
n( 2^1/n - 1 ) = 3 ( 2^1/3 - 1 ) = 0.7977

U = 3/20 + 2/5 + 2/10 = 0.75 

Es menos de 1 o 100% de utilización. La utilización combinada de tres procesos es menor que el umbral de estos procesos, lo que significa que el conjunto de procesos anterior es programable y, por lo tanto, satisface la ecuación anterior del algoritmo.

  1. Tiempo de programación:
    para calcular el tiempo de programación del algoritmo, debemos tomar el LCM del período de tiempo de todos los procesos. MCM (20, 5, 10) del ejemplo anterior es 20. Por lo tanto, podemos programarlo por 20 unidades de tiempo.
  2. Prioridad:
    como se discutió anteriormente, la prioridad será la más alta para el proceso que tiene el menor período de tiempo de ejecución. Así P2 tendrá la máxima prioridad, luego P3 y por último P1.
    P2 > P3 > P1 
  3. Representación y flujo –

    La figura anterior dice que el Proceso P2 se ejecutará dos veces por cada 5 unidades de tiempo, el Proceso P3 se ejecutará dos veces por cada 10 unidades de tiempo y el Proceso P1 se ejecutará tres veces en 20 unidades de tiempo. Esto debe tenerse en cuenta para comprender la ejecución completa del algoritmo a continuación.

    El proceso P2 se ejecutará primero durante 2 unidades de tiempo porque tiene la prioridad más alta. Después de completar sus dos unidades, P3 tendrá la oportunidad y, por lo tanto, funcionará durante 2 unidades de tiempo.

    Como sabemos que el proceso P2 se ejecutará 2 veces en el intervalo de 5 unidades de tiempo y el proceso P3 se ejecutará 2 veces en el intervalo de 10 unidades de tiempo, han cumplido los criterios y, por lo tanto, ahora el proceso P1 que tiene la menor prioridad obtendrá la oportunidad y se ejecutará por 1 vez. Y aquí se ha completado el intervalo de cinco unidades de tiempo. Debido a su prioridad, P2 se adelantará a P1 y, por lo tanto, se ejecutará 2 veces. Como P3 ha completado sus 2 unidades de tiempo para su intervalo de 10 unidades de tiempo, P1 tendrá oportunidad y se ejecutará las 2 veces restantes, completando su ejecución que fue tres veces en 20 unidades de tiempo.

    Ahora el intervalo 9-10 permanece inactivo ya que ningún proceso lo necesita. A las 10 unidades de tiempo, el proceso P2 se ejecutará 2 veces completando sus criterios para el tercer intervalo (10-15). El proceso P3 ahora se ejecutará dos veces completando su ejecución. El intervalo 14-15 volverá a permanecer inactivo por la misma razón mencionada anteriormente. A las 15 unidades de tiempo, el proceso P2 se ejecutará dos veces completando su ejecución. Así es como funciona la programación monotónica de tasa.

Condiciones:
El análisis de la programación monotónica de tasa asume pocas propiedades que todo proceso debe poseer. Están :

  1. Los procesos involucrados no deben compartir los recursos con otros procesos.
  2. Los plazos deben ser similares a los períodos de tiempo. Los plazos son deterministas.
  3. El proceso que se ejecuta con la prioridad más alta que debe ejecutarse se adelantará a todos los demás procesos.
  4. Deben asignarse prioridades a todos los procesos de acuerdo con el protocolo de programación Tarifa monotónica.

ventajas :

  1. Es fácil de implementar.
  2. Si cualquier algoritmo de asignación de prioridad estática puede cumplir con los plazos, entonces la programación monótona de tarifas también puede hacer lo mismo. es óptimo
  3. Consiste en una copia calculada de los períodos de tiempo a diferencia de otros algoritmos de tiempo compartido como Round robin que descuida las necesidades de programación de los procesos.

Desventajas:

  1. Es muy difícil soportar tareas aperiódicas y esporádicas bajo RMA.
  2. RMA no es óptimo cuando el período de las tareas y la fecha límite difieren.

Publicación traducida automáticamente

Artículo escrito por ajaychawla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *