Sistemas operativos
La planificación de procesos (scheduling) es la forma en que el sistema operativo decide qué proceso o hilo usará la CPU en un momento dado. 👉 Esto es necesario porque normalmente hay más procesos listos para ejecutarse que procesadores disponibles.
🔹 Objetivos de la planificación
- Aprovechamiento de CPU: que el procesador esté ocupado el mayor tiempo posible.
- Equidad: repartir los recursos entre los procesos.
- Tiempo de respuesta rápido: especialmente en sistemas interactivos.
- Productividad: completar el mayor número de procesos en el menor tiempo.
- Cumplir prioridades: algunos procesos son más importantes que otros.
🔹 Tipos de planificación
-
Planificación a largo plazo
- Decide qué procesos entran en el sistema desde la cola de trabajos.
- Controla la carga global del sistema.
-
Planificación a medio plazo
- Suspende o reactiva procesos para equilibrar el uso de recursos.
- Ejemplo: enviar un proceso al disco (swap) para liberar RAM.
-
Planificación a corto plazo (CPU scheduling)
- Decide qué proceso en estado “Listo” usará la CPU en ese momento.
- Es la más importante para el rendimiento y la multitarea.
🔹 Algoritmos de planificación (CPU scheduling)
-
FIFO (First In, First Out) / FCFS
- El primero en llegar es el primero en ejecutarse.
- Justo pero puede causar efecto convoy (un proceso largo retrasa a los cortos).
-
SJF (Shortest Job First)
- Se ejecuta primero el proceso más corto.
- Eficiente, pero difícil saber de antemano la duración real.
-
Round Robin (RR)
- Cada proceso recibe un tiempo fijo (quantum).
- Si no termina, vuelve al final de la cola.
- Muy usado en sistemas de tiempo compartido.
-
Por prioridades
- Cada proceso tiene un nivel de prioridad.
- Los de mayor prioridad se ejecutan antes.
- Problema: inanición de procesos de baja prioridad.
-
Multinivel
- Se combinan colas con diferentes algoritmos según el tipo de proceso.
- Ejemplo: procesos interactivos en Round Robin, procesos largos en FCFS.
🔹 Ejemplo práctico
Supongamos que hay tres procesos listos:
-
P1 → necesita 10 ms
-
P2 → necesita 4 ms
-
P3 → necesita 2 ms
-
Con FIFO → P1 se ejecuta completo, luego P2, luego P3 → los cortos esperan demasiado.
-
Con SJF → P3 → P2 → P1 → mejor tiempo de espera promedio.
-
Con Round Robin (quantum = 2 ms) → P1 corre 2 ms, luego P2, luego P3, y así sucesivamente → más justo para usuarios interactivos.
📌 Resumen rápido
- La planificación decide qué proceso usa la CPU.
- Tipos: largo, medio y corto plazo.
- Algoritmos principales: FIFO, SJF, Round Robin, Prioridades, Multinivel.
- El objetivo: equilibrio entre eficiencia, justicia y rapidez de respuesta.
- Loading...