Sistemas operativos · Curso 6 de 15

Planificación de la CPU

Una guía clara para comprender cómo decide el sistema operativo qué proceso se ejecuta en cada momento. Aprenderás los algoritmos FCFS, SJF, por prioridades, Round Robin y colas multinivel, las métricas de tiempo de espera, retorno y respuesta, la planificación en multiprocesadores y en tiempo real, y el planificador CFS de Linux, construyendo simuladores interactivos en JavaScript y comprobando los resultados sobre un sistema real.

44
temas progresivos
JS
simuladores interactivos
Nivel intermedio
paso 6 de la ruta

Quién usa la CPU ahora

Hay una CPU y muchos procesos que la quieren

En cualquier momento hay decenas de procesos listos para ejecutarse y apenas unos pocos núcleos donde hacerlo. Quien decide a cuál le toca, y por cuánto tiempo, es el planificador. Su decisión cambia lo que el usuario percibe: que el editor responda al instante, que una compilación termine antes o que un video no se corte. No existe una política perfecta: cada algoritmo favorece unas cosas a costa de otras.

El curso empieza por el problema y las métricas con que se juzga una solución: tiempos de espera, de retorno y de respuesta. Después estudia los algoritmos clásicos, FCFS, SJF, prioridades, Round Robin y colas multinivel, y los lleva a dos escenarios más exigentes: multiprocesadores y tiempo real. Termina con el planificador de Linux: nice, CFS y su sucesor EEVDF. Cada algoritmo se programa como un simulador interactivo en JavaScript, y al final se contrastan sus predicciones con mediciones en un sistema real.

El recorrido

Cuatro ideas que se suman

De ver un diagrama de Gantt a entender por qué un proceso con nice 10 recibe menos CPU que uno con nice 0.

01

Medir

Tiempo de espera, de retorno y de respuesta, y cómo leerlos en un diagrama de Gantt.

02

Comparar algoritmos

FCFS, SJF, prioridades, Round Robin y colas multinivel: qué optimiza cada uno y a quién perjudica.

03

Escalar

Varios procesadores y plazos de tiempo real: afinidad, balanceo, RM, EDF y las políticas de Linux.

04

Comprobar

El planificador CFS de Linux, simulado en JavaScript y verificado sobre un sistema real con nice, taskset y perf.

Ruta completa

Este curso es el paso 6 de 15

Aquí se estudia cómo decide el sistema cuál de los procesos listos usa la CPU. En el curso siguiente se ve qué ocurre cuando varios de ellos comparten datos.

Nivel intermedio

  1. 05Procesos e Hilos
  2. 06Planificación de la CPU
  3. 07Concurrencia y Sincronización
  4. 08Gestión de Memoria
  5. 09Sistemas de Archivos y Entrada/Salida
  6. 10Comunicación entre Procesos

Nivel avanzado

  1. 11Redes desde el Sistema Operativo
  2. 12Seguridad en Sistemas Operativos
  3. 13Virtualización y Contenedores
  4. 14Rendimiento, Depuración y Observabilidad
  5. 15Construcción de un Sistema Operativo desde Cero