Asignación de Prioridad a Tareas en Sistema Operativo

Asignación de prioridad a las tareas:
cuando el número de tareas con diferentes plazos relativos supera los niveles de prioridad admitidos por el sistema operativo, algunas tareas comparten el mismo valor de prioridad. Pero el método exacto de asignación de prioridades a las tareas puede afectar con soltura la utilización del procesador.

Si las tareas se seleccionan aleatoriamente para compartir el mismo nivel de prioridad, la utilización del procesador se reduciría. Se requiere seleccionar las tareas sistemáticamente para compartir un nivel de prioridad para que la utilización programable alcanzable sea mayor.

Hay varios métodos de asignación de prioridad que se utilizan cuando las tareas comparten el mismo nivel de prioridad. Algunos de los métodos más utilizados son:

1. Asignación de prioridad uniforme:
en este método de asignación, todas las tareas se dividen uniformemente entre los niveles de prioridad disponibles. Si el número de niveles de prioridad divide completamente el número de tareas, entonces se pueden realizar fácilmente tareas de división uniforme entre los niveles de prioridad.

Por ejemplo, si hay 20 tareas para programar y el sistema operativo admite 4 niveles de prioridad, a cada nivel de prioridad se le asignan 5 tareas.
Si la división uniforme no es posible, es decir, hay N tareas y p niveles de prioridad y N % p > 0, las tareas de piso (N/p) se asignan a cada nivel y las tareas restantes se asignan a niveles de prioridad más bajos.

Por ejemplo, si hay 10 tareas para programar y el sistema operativo admite 4 niveles de prioridad, entonces primero se asigna el piso (10/4), es decir, se asignan 2 tareas a cada nivel de prioridad y las 2 tareas restantes se asignan a cada uno con menor prioridad. niveles

2. Asignación de Prioridad Aritmética:
En este método de asignación, una progresión aritmética está formada por el número de tareas asignadas a cada nivel de prioridad.

Por ejemplo,
si N es el número de tareas y p es el número de niveles de prioridad, entonces

N = a + 2a + 3a + 4a + ... + pa 

donde las tareas ‘a’ se asignan al nivel de prioridad más alto,
las tareas ‘2a’ se asignan al siguiente nivel de prioridad más alto y así sucesivamente.

3. Asignación de Prioridad Geométrica:
En este método de asignación, una progresión geométrica está formada por el número de tareas asignadas a cada nivel de prioridad.

Por ejemplo,
si N es el número de tareas y p es el número de niveles de prioridad, entonces

N = a + a^2 + a^3 + a^4 + ... + a^p 

donde las tareas ‘a’ se asignan al nivel de prioridad más alto,
las tareas ‘a^2’ se asignan al siguiente nivel de prioridad más alto y así sucesivamente.

3. Asignación de prioridad logarítmica:
en este método de asignación, a las tareas de períodos más cortos se les asignan distintos niveles de prioridad tanto como sea posible y las tareas de menor prioridad (tareas con un período más alto) se combinan y asignan al mismo nivel de prioridad para que las tareas de mayor prioridad no sean afectado. Para ello las tareas se ordenan en orden creciente de su periodo.

Si p max es el período máximo y p min es el período mínimo entre períodos de todas las tareas y p es el número de niveles de prioridad, entonces,

k = (pmax/pmin )^(1/p) is calculated, 

y las tareas con períodos hasta k se asignan a la prioridad más alta, las tareas con períodos de k a k ^ 2 se asignan a la siguiente prioridad más alta, las tareas con períodos de k ^ 2 a k ^ 3 se asignan a la siguiente prioridad más alta y así sucesivamente.

Publicación traducida automáticamente

Artículo escrito por pp_pankaj 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 *