Definición


Esta técnica de planificación intenta acatar a los siguientes dos problemas

  • Intentar optimizar el tiempo de turn around, que se realiza mediante la ejecución de la tarea más corta primero, desafortunadamente el sistema operativo nunca sabe a priori cuanto va a tardar en correr una tarea
  • Intenta minimizar el tiempo de respuesta, desafortunadamente los algoritmos como round-robin reducen el tiempo de respuesta pero son terribles en turn around.

Reglas básicas


MLFQ tiene un conjunto de distintas colas, cada una de estas colas tiene asignado un nivel de prioridad.

En un determinado tiempo, una tarea que está lista para ser corrida está en una única cola. MLFQ usa las prioridades para decidir cual tarea debería correr en un determinado tiempo , la tarea con mayor prioridad o la tarea en la cola más alta será elegida para ser corrida.

Dado el caso que existan más de una tarea con la misma prioridad entonces se utiliza el algoritmo round-robin para planificar estas tareas entre ellas.

Las reglas son

  • Si la prioridad de A es mayor que la prioridad de B, A se ejecuta y B no
  • Si la prioridad de A es igual a la prioridad de B, A y B se ejecutan en round-robin

La clave para la planificación MLFQ subyace entonces en cómo el planificador setea las prioridades. En vez de dar una prioridad fija a cada tarea, MLFQ varia la prioridad de la tarea basándose en su comportamiento observado.

Algunas reglas para esto pueden ser

  • Cuando una tarea entra en el sistema se pone con la más alta prioridad
  • Una vez que una tarea usa su tiempo asignado en un nivel dado, su prioridad se reduce
  • Después de cierto periodo de tiempo , se mueven las tareas a la cola con más prioridad