Turnos justos, turnos urgentes
Repartir la CPU en turnos cortos da buena respuesta, pero cada cambio cuesta. Al terminar sabrás elegir un quantum y evitar que alguien espere para siempre.
Primero, la idea completa
Mira el video entero o salta a la parte que quieras repasar. Después, cada idea tiene su propia escena para tocarla.
Round Robin
Round Robin (RR) es FCFS con expropiación. Se define una unidad de tiempo pequeña, el quantum (o time slice), que suele ir de 10 a 100 milisegundos. La cola de listos funciona como una cola FIFO circular: el planificador le da a cada proceso como mucho un quantum seguido.
- Si el proceso termina o pide E/S antes de agotar su quantum, libera la CPU por su cuenta.
- Si agota el quantum, el temporizador lo interrumpe, vuelve al final de la cola y entra el siguiente.
La respuesta es buena porque nadie espera mucho a su primer turno, pero la espera media suele ser alta. Con los procesos de 24, 3 y 3 ticks y quantum 4, la espera media es 17 / 3 ≈ 5.67.
Cinco procesos con Round Robin. Cambia el quantum y el costo de cada cambio de contexto.
Elegir el quantum
El rendimiento de RR depende por completo del quantum:
- Si es muy grande, nadie lo agota y RR se comporta igual que FCFS.
- Si es muy pequeño, la CPU pasa buena parte del tiempo haciendo cambios de contexto en lugar de trabajo útil.
Como regla general, el quantum debe ser mayor que el 80 % de las ráfagas de CPU: así la mayoría termina su ráfaga en un solo turno y solo los procesos largos se interrumpen.
03 · No todos valen lo mismoPlanificación por prioridades
Cada proceso tiene una prioridad y la CPU va al de prioridad más alta. En este curso, un número menor significa más prioridad. Si dos empatan, se usa FCFS entre ellos.
- La prioridad puede ser interna, calculada por el sistema (memoria, archivos abiertos, ráfagas medidas), o externa, impuesta desde fuera (importancia del usuario, de quién paga…).
- SJF es un caso particular: la prioridad es la duración de la siguiente ráfaga.
- Puede ser no expropiativa, o expropiativa: si llega alguien con más prioridad que el que corre, le quita la CPU.
Cinco procesos que llegan en t = 0. Cambia las prioridades y mira el orden de atención y la espera media.
Inanición y envejecimiento
Con prioridades, un proceso de prioridad baja puede no ejecutarse nunca si siempre hay alguien más importante: se queda en bloqueo indefinido o inanición. La solución clásica es el envejecimiento (aging): mientras un proceso espera, su prioridad sube poco a poco, hasta que tarde o temprano le toca.
En la práctica, las prioridades se combinan con Round Robin: la CPU va al de mayor prioridad y, entre los que empatan, se reparten turnos de un quantum.
05 · PrediceAntes de leer la respuesta
Cuando un proceso envejece, la columna Prioridad muestra de dónde partió y a dónde llegó, por ejemplo 7→2.
Tu turno: el quantum y la prioridad
Cuatro conjuntos de procesos, cuatro formas de planificar. Ajusta el quantum, decide si cada cambio de contexto cuesta un tick y activa el envejecimiento: mientras un proceso espera en la cola, su prioridad sube un punto cada 3 o cada 2 ticks.
Comprueba lo que entendiste
Cada respuesta incorrecta explica por qué parece correcta y en qué falla.