Pixelaula.
Planificación de CPU · Lección 3 de 5

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.

⏱ 30–40 min▶ Video de 90 s🧪 Laboratorio con 4 misiones
00 · En 90 segundos

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.

    01 · Por turnos

    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.

    Escena 1

    Cinco procesos con Round Robin. Cambia el quantum y el costo de cada cambio de contexto.

    QuantumCambio de contexto
    02 · Ni tan grande ni tan chico

    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 mismo

    Planificació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.
    Escena 2

    Cinco procesos que llegan en t = 0. Cambia las prioridades y mira el orden de atención y la espera media.

    04 · Esperar para siempre

    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 · Predice

    Antes de leer la respuesta

    Lee la tabla
    Cuando un proceso envejece, la columna Prioridad muestra de dónde partió y a dónde llegó, por ejemplo 7→2.
    Laboratorio

    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.

    Repaso

    Comprueba lo que entendiste

    Cada respuesta incorrecta explica por qué parece correcta y en qué falla.