Prioridades

El uso de prioridades es importante para la planificación de corto plazo, este tipo de planificación establece que todo proceso deberá tener un identificador de prioridad, el cual determina su relevancia ante el sistema o el usuario, entre mayor sea la prioridad, mayor será la importancia del proceso.

El distribuidor elige de entre la lista de listos aquel con mayor prioridad y lo expide a ejecución o simplemente la lista esta ordenada dependiendo de la prioridad, en este caso se elige al proceso que encabeza la cola y se expide a ejecución.

Los procesos pueden agruparse por niveles de prioridad, así el estado listo se convierte en una colección de colas de procesos (RQ) organizadas por el nivel de prioridad, (RQ0, RQ1, RQ2,…, RQn), al interior de cada cola los procesos se ubican en el orden que van llegando. Solo en el caso en que las colas superiores se encuentren vacías, un proceso que ocupa la cabeza de la cola, puede ser expedido a ejecución directamente.

Figura 1. Planificación por prioridades con atajos

Fente: Elaboración propia.

La planificación por prioridades pura tiene problemas con los procesos de baja prioridad, debido a que podrían no ejecutarse nunca si constantemente están llegando procesos de una prioridad superior.

Para solucionar este inconveniente, la planificación por prioridades involucra un atajo para los procesos de prioridad baja, determinando prioridades dinámicas. Es decir, el proceso ganará prioridad entre más tiempo dure en ejecución y al alcanzar la cabeza de la cola (RQn), podrá obtener un atajo y ser incorporado a la cola de nivel superior (RQn-1). De esta manera, se garantiza que sin importar la prioridad inicial asignada a un proceso, este alcanzará en algún momento el procesador.