Diferencia entre la programación prioritaria y la programación de CPU Round Robin (RR)

1. Algoritmo de programación de prioridad :
el algoritmo de programación de prioridad ejecuta los procesos según su prioridad. A cada proceso se le asigna una prioridad y el proceso con la prioridad más alta se ejecuta primero. Las prioridades se pueden definir tanto interna como externamente. El sistema decide las prioridades internas según la cantidad de recursos necesarios, el tiempo necesario, etc., mientras que las prioridades externas se basan en el tiempo en que se necesita el trabajo o la cantidad que se paga por el trabajo realizado o la importancia del proceso. La programación prioritaria puede ser preventiva o no preventiva.

Nota –

  • Si dos procesos tienen la misma prioridad, el empate se rompe usando FCFS.
  • El tiempo de espera para el proceso de mayor prioridad siempre es cero en el modo preventivo, mientras que puede no serlo en el caso del modo no preventivo.

Inconvenientes:
El gran problema es la inanición o bloqueo indefinido. Puede suceder que en el flujo de procesos, el sistema siga ejecutando los procesos de alta prioridad y los procesos de baja prioridad nunca se ejecuten.

2. Round-Robin (RR) :
el algoritmo de programación Round-Robin (RR) está especialmente diseñado para sistemas de tiempo compartido. Los procesos se colocan en la cola de procesos listos, que en este caso es una cola circular. En este caso se define una pequeña unidad de tiempo conocida como cuanto de tiempo. El algoritmo selecciona el primer proceso de la cola y lo ejecuta durante el tiempo definido por el cuanto de tiempo. Si el proceso tiene un tiempo de ráfaga menor que el cuanto de tiempo, la CPU ejecuta el siguiente proceso, pero si tiene un tiempo de ráfaga mayor que el cuanto de tiempo, el proceso se interrumpe y el siguiente proceso se ejecuta con el mismo cuanto de tiempo. Si se interrumpe un proceso, se produce un cambio de contexto y el proceso se vuelve a colocar al final de la cola. Es de carácter preventivo.

Este algoritmo depende principalmente del cuanto de tiempo. La cantidad de tiempo muy grande hace que RR sea igual que FCFS, mientras que una cantidad de tiempo muy pequeña conducirá a la sobrecarga ya que el cambio de contexto ocurrirá una y otra vez después de intervalos muy pequeños.

La principal ventaja de este algoritmo es que todos los procesos se ejecutan uno tras otro, lo que no conduce a la inanición de los procesos ni a la espera de un proceso durante mucho tiempo para ejecutarse.

La diferencia entre el algoritmo de programación Priority Scheduling y Round-Robin (RR) es la siguiente:

Programación prioritaria Todos contra todos (RR)
Priority Scheduling ejecuta los procesos de acuerdo con la prioridad, es decir, el proceso con mayor prioridad se ejecuta primero. Round-Robin (RR) ejecuta los procesos en función de la cantidad de tiempo definida, es decir, cada proceso se ejecuta durante un período de tiempo fijo.
La programación prioritaria es tanto de naturaleza preventiva como no preventiva. Round-Robin (RR) es de naturaleza preventiva.
El tiempo medio de espera y el tiempo medio de respuesta se desconocen de antemano. El tiempo de espera promedio para un conjunto dado de procesos es bastante pequeño y depende de la cantidad de tiempo.
Es fácil de implementar y se adapta mejor a los sistemas operativos en tiempo real. Es bastante fácil implementar RR en cualquier sistema.
El problema del bloqueo de un proceso se puede resolver mediante el envejecimiento. Cada proceso se ejecuta y cada usuario siente que su trabajo se está realizando ya que la CPU dedica la misma cantidad de tiempo a cada proceso.

Publicación traducida automáticamente

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