← Planificación de la CPU Bloque 6 · Round Robin · Tema 20 de 44

Tema 20

Round Robin y el quantum

Round Robin es el algoritmo de planificación más usado en sistemas de tiempo compartido. Reparte la CPU en turnos de igual duración (el quantum) entre todos los procesos listos, usando una cola circular. Es el algoritmo que da a cada proceso una oportunidad justa de ejecutarse, sin necesitar conocer las ráfagas. En este tema verás cómo funciona, un ejemplo desarrollado, las propiedades del quantum y por qué Round Robin es la base de los planificadores modernos.

1. Qué es Round Robin

Round Robin es el algoritmo de planificación que reparte la CPU en turnos de igual duración (quantum) entre todos los procesos listos. Cada proceso recibe un quantum de tiempo; si no termina en ese tiempo, se le quita la CPU y se le envía al final de la cola. El siguiente proceso recibe su quantum, y así sucesivamente.

Round Robin es la solución al problema de la equidad: en lugar de favorecer a los procesos cortos (SJF) o a los importantes (prioridades), da a todos la misma oportunidad. Es el algoritmo más usado en sistemas de tiempo compartido (time-sharing), donde varios usuarios comparten la máquina y cada uno espera una respuesta rápida.

Round Robin es inherentemente apropiativo: el temporizador del sistema interrumpe al proceso cuando se le acaba el quantum. No necesita conocer las ráfagas de CPU, lo que lo hace aplicable en la práctica (a diferencia de SJF).

Round Robin no necesita conocer el futuro

A diferencia de SJF, Round Robin no necesita saber cuánto va a durar un proceso. Solo necesita un quantum y una cola. Esto lo hace aplicable en sistemas reales, donde las ráfagas no se conocen de antemano.

2. El quantum

El quantum (o time slice) es la duración máxima que un proceso puede ejecutarse antes de ser interrumpido. Es el parámetro central de Round Robin: determina el equilibrio entre respuesta y overhead.

El quantum típico en los sistemas operativos modernos es de 1 a 10 milisegundos. En Linux (CFS), no hay un quantum fijo: el tiempo de ejecución se calcula dinámicamente según el número de procesos y la latencia objetivo.

El quantum afecta a dos cosas:

El quantum ideal es lo suficientemente corto para que la respuesta sea buena, pero lo suficientemente largo para que el overhead sea aceptable. El tema 21 profundiza en cómo elegir el quantum.

3. Cómo funciona

Round Robin funciona con una cola circular de procesos listos:

  1. Llega un proceso. Se añade al final de la cola de listos. llegada
  2. La CPU queda libre. Se toma el proceso del principio de la cola. desencolar
  3. El proceso se ejecuta. Recibe un quantum de tiempo. Si termina antes del quantum, sale del sistema. Si no termina, se interrumpe y se envía al final de la cola. ejecutar
  4. Se repite. El siguiente proceso recibe su quantum. bucle

La regla clave es que un proceso que no termina en su quantum se envía al final de la cola, no se descarta. Así, todos los procesos reciben turnos periódicos.

El temporizador del sistema interrumpe al proceso cuando se le acaba el quantum. Esta interrupción es la que hace que Round Robin sea apropiativo: el planificador no espera a que el proceso termine o se bloquee.

4. La cola circular

La estructura de datos de Round Robin es una cola circular: los procesos circulan por la cola, recibiendo un quantum cada vez que les toca. Cuando un proceso termina, se elimina de la cola. Cuando un proceso se bloquea en E/S, sale de la cola temporalmente y vuelve al final cuando termina la E/S.

Cola circular de Round Robin: los procesos circulan recibiendo un quantum cada vez. COLA CIRCULAR CPU P1 (q) P2 P3 P4 P5 P6 desencolar si no termina, al final de la cola Los procesos circulan: reciben un quantum y vuelven al final si no terminan.
La cola circular de Round Robin: los procesos reciben un quantum y vuelven al final si no terminan.

5. Un ejemplo desarrollado

Tres procesos, todos llegando en 0, con ráfagas 8, 4 y 2, y un quantum de 3:

ProcesoLlegadaRáfaga
P108
P204
P302

Simulación paso a paso (quantum = 3):

  1. t = 0: Cola: [P1, P2, P3]. Se ejecuta P1 durante 3. P1 no termina (le quedan 5). Se envía al final. Cola: [P2, P3, P1]. quantum
  2. t = 3: Se ejecuta P2 durante 3. P2 no termina (le queda 1). Se envía al final. Cola: [P3, P1, P2]. quantum
  3. t = 6: Se ejecuta P3 durante 2. P3 termina (ráfaga 2 ≤ quantum 3). Sale del sistema. Cola: [P1, P2]. terminación
  4. t = 8: Se ejecuta P1 durante 3. P1 no termina (le quedan 2). Se envía al final. Cola: [P2, P1]. quantum
  5. t = 11: Se ejecuta P2 durante 1. P2 termina. Sale del sistema. Cola: [P1]. terminación
  6. t = 12: Se ejecuta P1 durante 2. P1 termina. Cola: []. terminación

El Gantt resultante es:

Gantt Round Robin q=3: P1 0-3, P2 3-6, P3 6-8, P1 8-11, P2 11-12, P1 12-14. P1 P2 P3 P1 P2 P1 0368111214
Round Robin con quantum 3. P1 se ejecuta en tres turnos, P2 en dos, P3 en uno.

Las métricas (leyendo el Gantt: S es el borde izquierdo del primer bloque, F es el borde derecho del último bloque):

ProcesoLlegadaRáfagaPrimer bloqueÚltimo bloqueRespuestaEsperaRetorno
P1080-312-140614
P2043-611-123812
P3026-86-8668
Promedio3,006,6711,33

Compara con FCFS para el mismo conjunto: respuesta promedio 0 + 8 + 10 = 6,00; espera 0 + 8 + 10 = 6,00; retorno 8 + 12 + 14 = 11,33. Round Robin tiene mejor respuesta (3,00 vs 6,00) pero peor espera (6,67 vs 6,00). El retorno es similar.

6. Propiedades de Round Robin

Propiedad¿La cumple?Comentario
EquidadSíTodos los procesos reciben el mismo quantum.
Buen tiempo de respuestaSíNingún proceso espera más de (n−1)·q para recibir la CPU.
Ausencia de inaniciónSíTodo proceso recibe turnos periódicos.
Minimiza espera promedioNoSJF es mejor.
Minimiza retorno promedioNoSJF es mejor.
SimplicidadSíUna cola circular y un temporizador.
OverheadDepende de qMás cambios de contexto cuanto menor sea q.
Necesita conocer ráfagasNoFunciona sin conocer las duraciones.

Round Robin es el único algoritmo clásico que combina equidad, buena respuesta y ausencia de inanición sin necesitar conocer las ráfagas. Su única debilidad es que no minimiza el tiempo de espera ni el de retorno.

7. Ventajas

8. Desventajas

Round Robin no es óptimo

Round Robin sacrifica el tiempo de espera y el de retorno a cambio de equidad y buena respuesta. Es un compromiso consciente, no un defecto.

9. Round Robin vs FCFS vs SJF

AspectoFCFSSJFRound Robin
CriterioOrden de llegadaRáfaga más cortaTurnos iguales
Necesita ráfagasNoSíNo
EquidadParcialNoSí
Tiempo de respuestaMaloBueno (cortos)Bueno
Tiempo de esperaNo óptimoÓptimoNo óptimo
InaniciónNoSíNo
OverheadBajoBajoDepende de q
Uso realComponenteCon predicciónBase de sistemas reales

10. Simulador interactivo

Este simulador ejecuta Round Robin con un quantum ajustable. Cambia el quantum y observa cómo cambian el Gantt y las métricas:

Simulador · Round Robin

ProcesoLlegadaRáfagaInicioFinRespuestaEsperaRetorno

11. Resumen

12. Preguntas de repaso

Intenta responder cada una antes de abrir la respuesta.

1. ¿Qué es el quantum?

La duración máxima que un proceso puede ejecutarse antes de ser interrumpido en Round Robin.

2. ¿Qué estructura de datos usa Round Robin?

Una cola circular. Los procesos que no terminan en su quantum vuelven al final.

3. ¿Round Robin es apropiativo?

Sí. El temporizador del sistema interrumpe al proceso cuando se le acaba el quantum.

4. ¿Necesita Round Robin conocer las ráfagas?

No. Funciona sin conocer las duraciones de los procesos.

5. ¿Cuánto espera un proceso para recibir la CPU en el peor caso?

(n−1)·q, donde n es el número de procesos y q el quantum.

6. ¿Minimiza Round Robin el tiempo de espera promedio?

No. SJF es mejor. Round Robin sacrifica la espera a cambio de equidad y respuesta.

7. ¿Qué ocurre si un proceso termina antes de su quantum?

El proceso sale del sistema y la CPU se da al siguiente proceso inmediatamente.

8. ¿Qué ocurre si un proceso se bloquea en E/S durante su quantum?

El proceso sale de la cola temporalmente y vuelve al final cuando termina la E/S.

9. ¿Round Robin sufre inanición?

No. Todos los procesos reciben turnos periódicos.

10. ¿Cuál es el trade-off principal de Round Robin?

Un quantum corto mejora la respuesta pero aumenta el overhead de cambios de contexto.

Para practicar

  1. Calcula las métricas para P1(0,8), P2(0,4), P3(0,2) con quantum 4 y compara con quantum 2.
  2. Dibuja el Gantt de Round Robin para el ejemplo del tema con quantum 2.
  3. Explica por qué un quantum muy grande se acerca a FCFS.
  4. Explica por qué un quantum muy pequeño se acerca a un procesador compartido (processor sharing).
  5. Calcula el overhead de cambios de contexto para n procesos con quantum q.
  6. Modifica el simulador para añadir llegadas distintas y observa el efecto.