Medir
Tiempo de espera, de retorno y de respuesta, y cómo leerlos en un diagrama de Gantt.
Sistemas operativos · Curso 6 de 15
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.
Quién usa la CPU ahora
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
De ver un diagrama de Gantt a entender por qué un proceso con nice 10 recibe menos CPU que uno con nice 0.
Tiempo de espera, de retorno y de respuesta, y cómo leerlos en un diagrama de Gantt.
FCFS, SJF, prioridades, Round Robin y colas multinivel: qué optimiza cada uno y a quién perjudica.
Varios procesadores y plazos de tiempo real: afinidad, balanceo, RM, EDF y las políticas de Linux.
El planificador CFS de Linux, simulado en JavaScript y verificado sobre un sistema real con nice, taskset y perf.
Ruta completa
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.