Requisito previo: programación de CPU en sistemas operativos El algoritmo de programación
preventiva de prioridad fija se usa principalmente en sistemas en tiempo real.
En este algoritmo de programación, el procesador se asegura de que la tarea de mayor prioridad se realice primero, ignorando la otra tarea que se ejecutará.
El proceso que tiene la prioridad más alta se atiende primero.
Modo
de decisión: Preferente: cuando llega un proceso, su prioridad se compara con la prioridad del proceso actual. Si el nuevo trabajo tiene una prioridad más alta que el proceso actual, el proceso actual se suspende y se inicia un nuevo proceso.
Implementación:
la cola FIFO ordenada se utiliza para esta estrategia. A medida que se identifica el nuevo proceso, se coloca en la cola de acuerdo con su prioridad. Por lo tanto, el proceso que tiene mayor prioridad se considera primero, ya que se coloca en una posición más alta.
Ejemplo:
Tomemos el siguiente ejemplo que tiene 4 conjuntos de procesos junto con su hora de llegada y el tiempo necesario para completar el proceso. También se menciona la prioridad de todos los procesos. Considere todos los valores de tiempo en milisegundos y un valor pequeño de prioridad significa mayor prioridad de proceso
Proceso | Hora de llegada (T0) | Tiempo requerido para la finalización (T`) | Prioridad |
P0 | 0 | 10 | 5 |
P1 | 1 | 6 | 4 |
P2 | 3 | 2 | 2 |
P3 | 5 | 4 | 0 |
Gráfico de gantt:
Inicialmente, solo P0 está presente y se le permite ejecutarse. Pero cuando llega P1, tiene mayor prioridad. Por lo tanto, P0 se adelanta y se permite que se ejecute P1. Este proceso se repite hasta que todos los procesos completan su ejecución.
Estadística :
Proceso | Hora de llegada (T0) | Tiempo de finalización (T`) | Hora de finalización (T1) | Tiempo de respuesta (TAT=T1-T0) | Tiempo de espera (TAT-T`) |
P0 | 0 | 10 | 22 | 22 | 12 |
P1 | 1 | 6 | 13 | 12 | 6 |
P2 | 3 | 2 | 5 | 2 | 0 |
P3 | 5 | 4 | 9 | 4 | 0 |
Tiempo promedio de respuesta:
= (22+12+2+4) / 4 = 40 / 4 = 10 ms
Tiempo promedio de espera:
= (12+6+0+0) / 4 = 18 / 4 = 4.5 ms
Ventajas:
Se considera la prioridad. El proceso crítico puede obtener una respuesta aún mejor.
Desventaja:
El hambre es posible para el proceso de baja prioridad. Se puede superar mediante el uso de una técnica llamada » Envejecimiento «. El envejecimiento aumenta gradualmente la prioridad de los procesos que esperan en el sistema durante mucho tiempo. La sobrecarga del cambio de contexto está ahí.
Publicación traducida automáticamente
Artículo escrito por shivalibhadaniya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA