Algoritmos de planificación del procesador

Portada de planificación del procesador con los algoritmos FCFS, SJF, SRTF, Prioridades y Round Robin y la identidad de Network Technology Blog.
Sistemas operativos

Una CPU, varios procesos: ¿quién ejecuta ahora?

Los algoritmos de planificación deciden qué proceso listo utiliza la CPU y durante cuánto tiempo. Compara sus reglas y sigue cada decisión en un cronograma interactivo.

Los algoritmos, de un vistazo

AlgoritmoCómo elige¿Interrumpe al actual?
FCFS / FIFOPrimero en llegar, primero en ejecutar.No. Un proceso largo puede retrasar a los siguientes.
SJFLa ráfaga más corta entre los procesos listos.No.
SRTFEl menor tiempo de CPU restante.Sí, si llega uno al que le queda menos tiempo.
PrioridadesLa prioridad más alta. Aquí, el número 1.Depende de la variante elegida.
Round Robin (RR)Turnos en una cola FIFO, limitados por el quantum.Sí. Si no termina, vuelve al final de la cola.

Sin expulsión: el proceso conserva la CPU hasta terminar su ráfaga o bloquearse. Con expulsión: puede cederla antes y continuar después desde donde se quedó. La ráfaga es el trabajo de CPU; el quantum, la duración máxima de un turno de RR.

Dos matices importantes

SJF y SRTF necesitan conocer o estimar la duración del trabajo. En RR, un quantum pequeño alterna más los procesos, pero en una máquina real aumenta el peso de los cambios de contexto.

Las prioridades fijas pueden posponer indefinidamente un proceso si siguen llegando otros preferentes. El envejecimiento mejora la prioridad de quien espera; este simulador no lo aplica.

Las tres fórmulas esenciales

L: llegada · B: ráfaga · I: primera vez en CPU · F: finalización.

Retorno

T = F − L

Desde que llega hasta que termina.

Espera

E = T − B

Tiempo listo, esperando CPU. Fórmula para este modelo sin E/S.

Respuesta

R = I − L

Hasta usar la CPU por primera vez.

La media se calcula sumando los tiempos y dividiendo entre el número de procesos.

Cronograma interactivo

Cada casilla, un paso de tiempo

Una fila por proceso y una columna por unidad de tiempo, como en una hoja de cálculo. Cambia de algoritmo, pulsa una columna o reproduce los pasos. Desliza horizontalmente para recorrer la cuadrícula.

ProcesoLlegada (0–60)Ráfaga (1–30)Prioridad (1–9)

Modelo y reglas de desempate
  • Una CPU y una ráfaga conocida por proceso, sin E/S ni coste de cambio de contexto. Todos los tiempos son enteros en unidades de tiempo (u.t.).
  • Desempate por llegada y después por fila. SRTF y prioridades con expulsión conservan el proceso actual en caso de empate.
  • Prioridad 1 es la más alta. Solo las variantes de prioridades usan esa columna.
  • En RR, las llegadas al final de un quantum entran antes de reencolar al saliente. Los que ya esperaban mantienen su posición.
  • La cola se muestra después de las llegadas y de elegir el proceso que ejecuta. Su primer elemento aparece arriba; la fila CPU muestra el proceso en ejecución.
  • Las medias y tablas son la solución completa, aunque la reproducción esté al principio. Si no hay procesos listos, la CPU queda libre.
Ejemplo resuelto: cómo cambia SRTF

P1 llega en 0 y necesita 7 unidades; P2 llega en 2 y necesita 4; P3 llega en 4 y necesita 1.

En t=2, P2 desplaza a P1 porque necesita 4 unidades y a P1 le quedan 5. En t=4, P3 desplaza a P2 porque necesita 1 y a P2 le quedan 2. Después continúan P2 y P1.

P10–2
P22–4
P34–5
P25–7
P17–12
ProcesoFin FRetorno TEspera ERespuesta R
P1121250
P27510
P35100

Espera media: (5 + 1 + 0) / 3 = 2 u.t. Con FCFS sería 4 u.t. Una media menor no significa que todos terminen antes: P1 termina más tarde con SRTF.

Plantilla PDF

Seis páginas con hojas reutilizables para los datos, el cronograma y los cálculos; una comparación de algoritmos y tres ejercicios con soluciones.

Descargar plantilla de planificación CPU · PDF

Comprobaciones para evitar errores
  • Ningún proceso ejecuta antes de llegar.
  • Sus casillas E deben sumar su ráfaga; sus casillas L, su espera.
  • Al reanudar, continúa el trabajo pendiente: no reinicies la ráfaga.
  • Respuesta y espera son diferentes: en RR se puede responder pronto y esperar entre turnos.
  • F es un instante, no una unidad adicional de ejecución.
Fuentes

Contenido y simulador de Network Technology Blog, con definiciones contrastadas en material universitario.

Sigue aprendiendo redes conmigo

Recibe los nuevos tutoriales y laboratorios de Network Technology Blog en tu correo.

Al suscribirte, recibirás las nuevas publicaciones por correo. Confirma tu suscripción desde el mensaje que recibirás. Puedes darte de baja cuando quieras desde cualquier correo.

¿Te resulta útil NTB? Invítame a un café.

Comentarios

Deja una respuesta