Requisito previo: el programa para la programación por turnos
Los procesos se ejecutan en función de su prioridad en este algoritmo de programación. Los procesos tienen una prioridad específica asociada a ellos a su llegada. Cuando llega un proceso, su prioridad se compara con otros procesos en la cola de procesos listos y, si su prioridad es mayor, se convierte en un proceso en ejecución. En el caso de un algoritmo no preventivo, incluso si el proceso que llega tiene una prioridad más alta, el proceso en ejecución no se reemplaza si no se ejecuta por completo, es decir, una vez que el proceso programado se ejecutará hasta su finalización.
Para evitar la inanición de los procesos que tienen menor prioridad, se cambia la prioridad de los procesos en ejecución y los procesos en la cola de procesos listos.
Considere un algoritmo de programación de prioridad preventiva donde cada proceso llega a la cola de listos con prioridad cero y la prioridad cambia a una tasa de α en la cola de listos (mientras espera) y a una tasa de ß en la CPU (mientras se ejecuta), luego puede ser dos casos:
- (a) α>ß>0:
si la tasa de aumento de la prioridad de los procesos en la cola de listos será mayor que la de la CPU, luego de un tiempo, el proceso en la cola de listos tendrá una prioridad más alta y, por lo tanto, el proceso en ejecución será reemplazado. y el siguiente proceso con mayor prioridad se transferirá a la CPU. Básicamente se convierte en Round-robin con cuanto de tiempo dinámico. - (b) ß>α>0:
si la tasa de aumento de la prioridad del proceso en la cola de procesos listos es menor que la del proceso en ejecución, entonces la prioridad del proceso en ejecución siempre será mayor que la del proceso en la cola de procesos listos. El proceso es en realidad similar a la programación por orden de llegada (FCFS) . A medida que aumenta la prioridad del proceso en ejecución, tiene la prioridad más alta y, por lo tanto, continúa ejecutándose y si α es demasiado grande, se ejecuta hasta que finaliza.
Publicación traducida automáticamente
Artículo escrito por aktmishra143 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA