Algoritmo de programación Round Robin con ejemplo

¿Qué es la programación Round Robin?

El nombre de este algoritmo proviene del principio de round-robin, donde cada persona obtiene una parte igual de algo por turnos. Es el algoritmo de programación más antiguo y simple, que se utiliza principalmente para la multitarea.

En la programación Round-robin, cada tarea lista se ejecuta por turnos sólo en una cola cíclica para una porción de tiempo limitada. Este algoritmo también ofrece una ejecución sin hambre de los procesos.

En este tutorial sobre sistemas operativos, aprenderás:

  • ¿Qué es la programación Round-Robin?
  • Características de la programación Round-Robin
  • Ejemplo de programación Round-robin
  • Ventajas de la programación Round-robin
  • Desventajas de la programación Round-robin
  • Latencia del peor caso

Características de la programación Round-Robin

Aquí están las características importantes de la programación Round-Robin:

  • El round robin es un algoritmo preemptivo
  • La CPU se desplaza al siguiente proceso después de un intervalo de tiempo fijo, que se llama quantum de tiempo/rebanada de tiempo.
  • El proceso que se adelanta se añade al final de la cola.
  • Round robin es un modelo híbrido que se basa en el reloj
  • El intervalo de tiempo debe ser mínimo, que se asigna para una tarea específica que necesita ser procesada. Sin embargo, puede diferir de un SO a otro.
  • Es un algoritmo en tiempo real que responde al evento dentro de un límite de tiempo específico.
  • El round robin es uno de los algoritmos más antiguos, justos y sencillos.
  • Método de programación ampliamente utilizado en los SO tradicionales.

Ejemplo de Round-robin Scheduling

Considere este tres procesos siguientes

Cola de procesos Tiempo de ráfaga
P1 4
P2 3
P3 5

Paso 1) La ejecución comienza con el proceso P1, que tiene un tiempo de ráfaga 4. Aquí, cada proceso se ejecuta durante 2 segundos. P2 y P3 siguen en la cola de espera.

Paso 2) En el tiempo =2, P1 se añade al final de la cola y P2 comienza a ejecutarse

Paso 3) En el tiempo=4 , P2 se adelanta y se añade al final de la cola. P3 comienza a ejecutarse.

Paso 4) En el tiempo=6 , P3 se adelanta y se añade al final de la cola. P1 comienza a ejecutarse.

Paso 5) En el tiempo=8 , P1 tiene un tiempo de ráfaga de 4. Ha completado la ejecución. P2 comienza la ejecución

Paso 6) P2 tiene un tiempo de ráfaga de 3. Ya ha ejecutado durante 2 intervalos. En el tiempo=9, P2 completa la ejecución. Entonces, P3 comienza la ejecución hasta que se completa.

Paso 7) Calculemos el tiempo medio de espera para el ejemplo anterior.

Wait time P1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

Ventaja de la programación Round-robin

Aquí, están los pros/beneficios del método de programación Round-robin:

  • No se enfrenta a los problemas de inanición o efecto convoy.
  • Todos los trabajos obtienen una asignación justa de la CPU.
  • Se ocupa de todos los procesos sin ninguna prioridad
  • Si conoce el número total de procesos en la cola de ejecución, entonces también puede asumir el peor caso de tiempo de respuesta para el mismo proceso.
  • Este método de programación no depende del tiempo de ráfaga. Por eso es fácilmente implementable en el sistema.
  • Una vez que un proceso se ejecuta para un conjunto específico del período, el proceso se adelanta, y otro proceso se ejecuta para ese período de tiempo dado.
  • Permite que el SO utilice el método de cambio de contexto para guardar los estados de los procesos adelantados.
  • Da el mejor rendimiento en términos de tiempo de respuesta promedio.

Desventajas de la programación Round-robin

Aquí, están las desventajas/contras de usar la programación Round-robin:

  • Si el tiempo de corte del SO es bajo, el rendimiento del procesador se verá reducido.
  • Este método gasta más tiempo en el cambio de contexto
  • Su rendimiento depende en gran medida del quantum de tiempo.
  • No se pueden establecer prioridades para los procesos.
  • La programación Round-robin no da prioridad especial a las tareas más importantes.
  • Disminuye la comprensión
  • Un quantum de tiempo más bajo resulta en una mayor sobrecarga de cambio de contexto en el sistema.
  • Encontrar un quantum de tiempo correcto es una tarea bastante difícil en este sistema.

Latencia del peor caso

Este término se utiliza para el tiempo máximo que tarda la ejecución de todas las tareas.

  • dt = Denota el tiempo de detección cuando una tarea es llevada a la lista
  • st = Denota el tiempo de cambio de una tarea a otra
  • et = Denota el tiempo de ejecución de la tarea

Fórmula:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISRt,SR = sum of all execution times

Resumen:

  • El nombre de este algoritmo proviene del principio de round-robin, en el que cada persona obtiene una parte igual de algo por turnos.
  • El round robin es uno de los algoritmos más antiguos, justos y fáciles y métodos de programación ampliamente utilizados en los SO tradicionales.
  • El round robin es un algoritmo preemptivo
  • La mayor ventaja del método de programación round-robin es que Si se conoce el número total de procesos en la cola de ejecución, entonces también se puede asumir el tiempo de respuesta del peor caso para el mismo proceso.
  • Este método gasta más tiempo en el cambio de contexto
  • La latencia en el peor de los casos es un término utilizado para el tiempo máximo que toma la ejecución de todas las tareas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.