Algoritmo de programación Round Robin con ejemplo

¿Qué es la programación por turnos?

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

En la programación por turnos, cada tarea lista se ejecuta paso a paso solo en una cola cíclica durante un período de tiempo limitado. Este algoritmo también ofrece una ejecución de procesos sin hambre.

Características de la programación por turnos

Estas son las características importantes de la programación por turnos:

  • Round Robin es un algoritmo preventivo
  • La CPU pasa al siguiente proceso después de un intervalo de tiempo fijo, lo que se denomina cuanto de tiempo/segmento de tiempo.
  • El proceso que se adelanta se agrega al final de la cola.
  • Round Robin es un modelo híbrido que funciona con un reloj.
  • El intervalo de tiempo debe ser mínimo, que se asigna para una tarea específica que debe procesarse. Sin embargo, puede diferir de un sistema operativo a otro.
  • Es un algoritmo en tiempo real que responde al evento dentro de un límite de tiempo específico.
  • Round Robin es uno de los algoritmos más antiguos, justos y sencillos.
  • Método de programación ampliamente utilizado en sistemas operativos tradicionales.

Ejemplo de programación por turnos

Considere este seguimientowing tres procesos

Cola de proceso Tiempo quemado
P1 4
P2 3
P3 5

Programación por turnos

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 todavía están en la cola de espera.

Programación por turnos

Paso 2) En el momento =2, P1 se agrega al final de la cola y P2 comienza a ejecutarse.

Programación por turnos


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

Programación por turnos

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

Programación por turnos

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

Programación por turnos

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

Programación por turnos

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

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

Ventaja de la programación por turnos

A continuación, se detallan las ventajas y beneficios del método de programación por turnos:

  • No enfrenta los problemas del hambre o el efecto convoy.
  • Todos los trabajos reciben una asignación justa de CPU.
  • Se ocupa de todos los procesos sin ninguna prioridad.
  • Si conoce el número total de procesos en la cola de ejecución, también puede asumir el tiempo de respuesta en el peor de los casos 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 se ejecuta un proceso durante un conjunto específico de períodos, el proceso se adelanta y se ejecuta otro proceso durante ese período de tiempo determinado.
  • Permite que el sistema operativo utilice el método de cambio de contexto para guardar estados de procesos adelantados.
  • Ofrece el mejor rendimiento en términos de tiempo medio de respuesta.

Desventajas de la programación por turnos

A continuación, se detallan las desventajas de utilizar la programación por turnos:

  • Si el tiempo de corte del sistema operativo es bajo, se reducirá la salida del procesador.
  • Este método dedica más tiempo al cambio de contexto.
  • Su rendimiento depende en gran medida de la cantidad de tiempo.
  • No se pueden establecer prioridades para los procesos.
  • La programación por turnos no da prioridad especial a las tareas más importantes.
  • Disminuye la comprensión
  • Un cuanto de tiempo más bajo da como resultado una mayor sobrecarga de cambio de contexto en el sistema.
  • Encontrar un cuanto de tiempo correcto es una tarea bastante difícil en este sistema.

Latencia en el peor de los casos

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

  • dt = Indica el tiempo de detección cuando una tarea se incluye en 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} + tISR	
t,SR = sum of all execution times

Resumen

  • El nombre de este algoritmo proviene del principio de round-robin, donde cada persona recibe una parte igual de algo por turnos.
  • Round Robin es uno de los algoritmos más antiguos, justos y sencillos, y uno de los métodos de programación más utilizados en la arquitectura tradicional. OS.
  • Round Robin es un algoritmo preventivo
  • La mayor ventaja del método de programación por turnos es que si conoce el número total de procesos en la cola de ejecución, también puede asumir el tiempo de respuesta en el peor de los casos para el mismo proceso.
  • Este método dedica más tiempo al cambio de contexto.
  • La latencia en el peor de los casos es un término utilizado para referirse al tiempo máximo necesario para la ejecución de todas las tareas.