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







