Algoritmo de programación Round Robin con ejemplo
⚡ Resumen inteligente
La planificación Round-Robin es el algoritmo de CPU preventivo más antiguo y sencillo, en el que cada proceso listo se ejecuta durante un intervalo de tiempo fijo en una cola cíclica, lo que garantiza una ejecución justa y sin inanición para la multitarea.
¿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 planificación Round-robin, cada tarea lista se ejecuta por turnos en una cola cíclica durante un intervalo de tiempo limitado. Este algoritmo también ofrece una ejecución de procesos sin inanición.
Características de la programación por turnos
Estas son las características importantes de la programación por turnos:
- El algoritmo round robin es un algoritmo preventivo.
- La CPU pasa al siguiente proceso después de un intervalo de tiempo fijo, que se denomina cuanto de tiempo o segmento de tiempo.
- El proceso que se adelanta se agrega al final de la cola.
- El sistema round robin es un modelo híbrido que funciona mediante reloj.
- El intervalo de tiempo debe ser el mínimo, asignado a una tarea específica que requiere procesamiento. Sin embargo, puede variar según el sistema operativo.
- Se trata de un algoritmo en tiempo real que responde al evento dentro de un límite de tiempo específico.
- El algoritmo round robin es uno de los más antiguos, justos y sencillos.
- Es un método de planificación muy utilizado en los sistemas operativos tradicionales.
Ejemplo de programación por turnos
Consideremos los siguientes tres procesos:
| Cola de proceso | Tiempo quemado |
|---|---|
| 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 todavía están en la cola de espera.
Paso 2) En el tiempo = 2, P1 se agrega al final de la cola y P2 comienza a ejecutarse.
Paso 3) En el tiempo = 4, P2 es interrumpido y agregado al final de la cola. P3 comienza a ejecutarse.
Paso 4) En el tiempo = 6, P3 es interrumpido y agregado 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 su ejecución. P2 comienza su ejecución.
Paso 6) P2 tiene un tiempo de ráfaga de 3. Ya se ha ejecutado durante 2 intervalos. En el tiempo = 9, P2 finaliza su ejecución. Luego, P3 comienza su ejecución hasta que finaliza.
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
Ventajas de la programación Round-robin
Estas son las ventajas y beneficios del método de programación Round-robin:
- No se enfrenta a los problemas de hambruna o 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 planificación no depende del tiempo de ráfaga. Por eso es fácil de implementar 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 los estados de los procesos interrumpidos.
- Ofrece el mejor rendimiento en términos de tiempo medio de respuesta.
Desventajas de la programación por turnos
Estas son las desventajas/inconvenientes de usar la planificación Round-robin:
- Si el tiempo de segmentación del sistema operativo es bajo, la potencia del procesador se verá reducida.
- 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 planificación por turnos rotativos no da prioridad especial a las tareas más importantes.
- Disminuye la comprensión.
- Un cuanto de tiempo menor da como resultado una mayor sobrecarga de cambio de contexto en el sistema.
- En este sistema, encontrar un cuanto de tiempo correcto es una tarea bastante difícil.
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 agrega a la lista.
- st = Indica el tiempo de cambio de una tarea a otra
- et = Indica 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
tISR = sum of all execution times








