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

Quién usa la CPU ahora

Un núcleo atiende una tarea a la vez y muchas esperan. Al terminar sabrás cuándo se decide quién sigue y cómo medir si se decidió bien.

⏱ 25–35 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 · Muchos esperan, uno corre

    Para qué sirve el planificador

    Un núcleo ejecuta una sola tarea a la vez. Los demás procesos listos esperan en memoria. La planificación de CPU decide a quién le toca el núcleo cada vez que queda libre, y es la base de la multiprogramación: si un proceso se detiene a esperar algo, la CPU no se queda parada, pasa a otro.

    En los sistemas modernos lo que se planifica en realidad son los hilos de kernel, no los procesos. Por eso se habla de planificar procesos o hilos casi como sinónimos.

    02 · Ráfagas

    CPU, espera, CPU, espera

    Casi ningún programa usa la CPU sin parar. Su vida es un ciclo: una ráfaga de CPU (calcula), luego una ráfaga de E/S (espera al disco, la red o el teclado), otra ráfaga de CPU, y así hasta terminar. Observar ese ciclo es la clave para planificar bien.

    • Un proceso limitado por E/S (un editor, un navegador) tiene ráfagas de CPU frecuentes y cortas.
    • Un proceso limitado por CPU (un compilador, un renderizado) tiene ráfagas pocas y largas.

    Si se mide la duración de muchas ráfagas, la mayoría son cortas y pocas son largas.

    Escena 1

    Elige un programa y mira cómo alterna ráfagas de CPU con esperas de E/S en 40 ticks.

    03 · El momento de decidir

    Cuándo actúa el planificador

    Hay cuatro situaciones en las que el planificador puede tener que elegir:

    1. El proceso en ejecución pasa a espera: pidió E/S o llamó a wait().
    2. El proceso en ejecución pasa a listo: llegó una interrupción, por ejemplo del reloj.
    3. Un proceso pasa de espera a listo: terminó su E/S.
    4. El proceso en ejecución termina.
    Escena 2

    Provoca cada situación y mira qué transición ocurre y si el planificador está obligado a elegir.

    Elige una situación.
    04 · Quitarle la CPU, o no

    Expropiativo y no expropiativo

    En la planificación no expropiativa, cuando un proceso recibe la CPU la conserva hasta que termina o pasa a espera: solo las situaciones 1 y 4 provocan una decisión. En la expropiativa, también se le puede quitar en las situaciones 2 y 3, por una interrupción o porque apareció alguien más importante.

    Hoy casi todos los sistemas son expropiativos, porque así atienden enseguida las tareas urgentes. El costo es la complejidad: el código del sistema debe estar preparado para ser interrumpido en cualquier momento, por ejemplo a mitad de actualizar datos compartidos.

    05 · El que cambia de proceso

    El despachador

    El planificador elige; el despachador (dispatcher) es el componente que efectivamente entrega el núcleo al elegido. Para eso:

    • guarda el estado del proceso que sale;
    • restaura el estado del proceso que entra;
    • hace el cambio de contexto y salta al punto donde ese proceso se había quedado.

    Se ejecuta en cada cambio de proceso, así que debe ser muy rápido. El tiempo que tarda en detener uno y arrancar otro se llama latencia de despacho ampliación.

    06 · Cómo se compara

    Criterios de planificación

    • Uso de CPU: qué tanto está ocupada. Lo ideal va de un 40 % a un 90 %.
    • Rendimiento (throughput): procesos terminados por unidad de tiempo.
    • Tiempo de retorno: desde que el proceso llega hasta que termina, sumando esperas, ejecución y E/S.
    • Tiempo de espera: lo que pasa en la cola de listos. Es lo único que depende directamente del algoritmo de planificación.
    • Tiempo de respuesta: desde la solicitud hasta la primera respuesta. Es clave en sistemas interactivos.

    Se busca más uso y rendimiento, y menos retorno, espera y respuesta.

    Escena 3

    Tres procesos en una CPU. Elige uno y mira sus tiempos marcados sobre el diagrama.

    07 · Predice

    Antes de leer la respuesta

    Cómo leer el laboratorio
    Cada cambio vuelve a simular todo. En el diagrama de Gantt, cada color es un proceso y las rayas son la CPU libre. Mueve la barra de tiempo para ver quién estaba en la cola y quién esperaba su E/S en ese instante.
    Laboratorio

    Tu turno: una CPU, tres trabajos

    Una CPU y tres trabajos. El editor calcula 1 tick y espera 3 ticks al teclado, una y otra vez. El compilador calcula 14 ticks, lee el disco 2 y calcula 14 más. El respaldo llega en t = 2 y calcula 10 ticks seguidos. Agrega trabajos, cambia entre planificación sin expropiación (FCFS) y con expropiación (Round Robin, 2 ticks por turno), y observa el uso de CPU y la espera más larga del editor.

    Repaso

    Comprueba lo que entendiste

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