← Planificación de la CPU Bloque 11 · Integración y cierre · Tema 44 de 44

Tema 44

Cierre y puente al próximo curso

Has llegado al final del curso de Planificación de la CPU. En 44 temas has pasado de entender por qué hay que planificar la CPU a simular y observar cómo planifica Linux. En este tema final, resumimos lo que has aprendido, qué dominas ahora, las habilidades adquiridas, los próximos pasos y cómo continúa en el próximo curso: Concurrencia y Sincronización.

1. Resumen por bloques

BloqueTemasLo que aprendiste
1. Por qué hay que planificar1-5El problema de la planificación, ráfagas, multiprogramación, planificador y despachador, apropiación.
2. Las métricas6-9Criterios de comparación, turnaround, espera, respuesta, Gantt, modelado en JavaScript.
3. FCFS10-12El algoritmo más simple, efecto convoy, simulador de FCFS.
4. SJF13-16El trabajo más corto primero, SRTF, predicción de ráfagas, simulador de SJF/SRTF.
5. Prioridades17-19Prioridades estáticas y dinámicas, inanición, envejecimiento, simulador por prioridades.
6. Round Robin20-23El quantum, elegir el quantum, costo del cambio de contexto, simulador de RR.
7. Colas multinivel24-27Colas multinivel, MLFQ, reglas, trampas, simulador de MLFQ.
8. Multiprocesadores28-31AMP/SMP, cola global vs por núcleo, afinidad, balanceo, NUMA, simulador multiprocesador.
9. Tiempo real32-35Sistemas de tiempo real, RM, EDF, simulador de tiempo real, tiempo real en Linux.
10. El planificador de Linux36-41Clases y políticas, nice, CFS, vruntime, árbol y plazos, simulador de CFS, observar el planificador.
11. Integración y cierre42-44Banco de pruebas, simulador vs sistema real, cierre.

2. Qué dominas ahora

Al terminar este curso, dominas:

3. Habilidades adquiridas

4. Conceptos clave

Los conceptos fundamentales del curso son:

5. Fórmulas esenciales

FórmulaSignificado
Ti = Fi − AiTiempo de retorno.
Wi = Ti − BiTiempo de espera (sin E/S).
Ri = Si − AiTiempo de respuesta.
Ti = Bi + Ii + WiDescomposición del turnaround.
Uso de CPU = 1 − pnUtilización con multiprogramación.
Tn+1 = α·tn + (1−α)·TnPromedio exponencial.
vruntime += t × (1024/peso)Acumulación de vruntime en CFS.
prio = 120 + nicePrioridad interna a partir del nice.
U = Σ Ci/PiUtilización total de tareas periódicas.
U ≤ n·(21/n − 1)Planificabilidad de RM.
U ≤ 1Planificabilidad de EDF.
Overhead = c/(c+q) × 100 %Overhead de cambios de contexto.

6. Próximos pasos

Después de este curso, puedes:

7. Puente al próximo curso

El próximo curso es Concurrencia y Sincronización. En este curso estudiaste cómo el planificador reparte la CPU entre procesos. En el próximo, estudiarás qué ocurre cuando esos procesos comparten datos.

Los temas del próximo curso incluyen:

La planificación de la CPU y la sincronización son complementarias: el planificador decide quién se ejecuta, y la sincronización decide cómo se coordinan los procesos que se ejecutan.

De la planificación a la sincronización

En este curso viste cómo el planificador reparte la CPU. En el próximo, verás qué ocurre cuando los procesos que se ejecutan necesitan compartir datos. La sincronización es el complemento necesario de la planificación: sin ella, los procesos no pueden cooperar de forma segura.

8. Agradecimiento

Gracias por completar el curso de Planificación de la CPU. Has recorrido un largo camino: desde entender por qué hay que planificar la CPU hasta simular y observar cómo planifica Linux. Espero que este curso te haya dado las herramientas para entender y analizar los sistemas que usas cada día.

El próximo curso te espera. ¡Hasta pronto!

9. Resumen

10. Preguntas de repaso

Intenta responder cada una antes de abrir la respuesta.

1. ¿Cuántos temas tiene el curso?

44 temas en 11 bloques.

2. ¿Qué algoritmo minimiza el tiempo de espera promedio?

SJF (con llegadas en 0) o SRTF (con llegadas distintas).

3. ¿Qué algoritmo minimiza el tiempo de respuesta?

Round Robin.

4. ¿Qué planificador usa Linux para la clase fair?

CFS (Completely Fair Scheduler), y EEVDF desde Linux 6.6.

5. ¿Qué es el vruntime?

El tiempo virtual en CFS, acumulado a velocidad inversamente proporcional al peso.

6. ¿Qué es la afinidad de caché?

La tendencia de un proceso a ejecutarse en el mismo núcleo para aprovechar la caché.

7. ¿Qué es un sistema de tiempo real?

Un sistema en el que la corrección del resultado depende del tiempo.

8. ¿Qué es la inanición?

Un proceso que espera indefinidamente porque siempre hay otros con preferencia.

9. ¿Qué es el envejecimiento?

Aumentar la prioridad de un proceso a medida que espera.

10. ¿Cuál es el próximo curso?

Concurrencia y Sincronización.