meskeIA

Simulador de Planificación de Procesos

FCFS, SJF, SRTF, Round Robin, Priority

© 2026 meskeIA© 2026

Algoritmo de planificación

Ejemplos preconfigurados

Procesos (3/10)

PIDLlegadaRáfagaPrioridad (1 = la más alta)Color 
P1
P2
P3

Diagrama de Gantt

P1 [0; 6]P10P2 [6; 10]P26P3 [10; 18]P31018

Secuencia en la CPU: P1 [0; 6] · P2 [6; 10] · P3 [10; 18]

Tiempo medio de espera
4,33ut
Tiempo medio turnaround
10,33ut
Throughput
0,167p/ut
Utilización CPU
100,0%
Tiempo total
18ut

Métricas por proceso

PIDLlegadaRáfagaInicioFinEsperaTurnaroundRespuesta
P10606060
P214610595
P32810188168

Comprueba tu ejercicio

Resuelve el enunciado de arriba con lápiz y papel, escribe aquí tus tiempos y el simulador te dirá en qué casilla se torció. Marca el modo práctica si prefieres que la solución no esté a la vista.

Tus tiempos para FCFS
PIDLlegadaRáfagaFinEsperaTurnaround
P106
P214
P328

Guía de Planificación de Procesos

Algoritmos de scheduler de CPU

Comparativa de Algoritmos

AlgoritmoApropiativoCriterio de selecciónVentajaDesventajaCuándo usarlo
FCFSNoOrden de llegadaSencillo, sin starvationConvoy effect: un proceso largo bloquea a los cortosSistemas batch sencillos, colas FIFO
SJFNoRáfaga más corta primeroTiempo medio de espera mínimo (óptimo teórico)Necesita conocer la ráfaga, posible inaniciónCargas predecibles, batch con estimación
SRTFSíTiempo restante más cortoMejor que SJF para procesos que llegan en distintos momentosMuchos cambios de contexto, requiere estimar ráfagaSistemas interactivos con mezcla de cargas
Round RobinSíTurnos cíclicos de quantumJusto, buen tiempo de respuestaCambios de contexto si quantum es bajoSistemas time-sharing y multiusuario
PriorityOpcionalPrioridad estática o dinámicaAtiende primero lo críticoInanición sin envejecimientoSistemas en tiempo real, kernel

Casos de Uso Reales

Estudiante de Sistemas Operativos

Necesitas resolver problemas de Gantt para el examen: 4 procesos con tiempos distintos, calcular tiempo medio de espera con FCFS y SJF y comparar.

Carga el ejemplo «Convoy effect» y cambia entre FCFS y SJF para ver cómo cambia el tiempo medio.
Opositor TIC / Concurso público

Pruebas tipo test de oposición preguntan diferencias entre apropiativo y no apropiativo, qué es el quantum y cuándo causa inanición Priority.

Practica el ejemplo «Inanición priority» y mira cuánto espera el proceso de prioridad más baja frente a lo que dura su ráfaga.
Programador de sistemas embebidos

Diseñas un firmware con tareas de tiempo real y de fondo. Decides aplicar Priority apropiativo para garantizar respuesta a interrupciones críticas.

En Priority apropiativo, una tarea crítica que llega siempre interrumpe a las menos prioritarias.
Profesor / docente de informática

Quieres mostrar visualmente a tu clase por qué Round Robin con quantum=1 degenera en cambios de contexto excesivos.

Usa el ejemplo de Round Robin y baja el quantum a 1 para mostrar el coste del context switching.

Preguntas Frecuentes

¿Cuál es la diferencia entre apropiativo y no apropiativo?

No apropiativo: cuando un proceso entra en CPU, ejecuta hasta terminar (o bloquearse). Nadie lo interrumpe.

Apropiativo (preemptive): el planificador puede arrebatarle la CPU si llega un proceso más prioritario o más corto. Permite mejor reparto pero exige más cambios de contexto.

FCFS y SJF clásico son no apropiativos. SRTF, Round Robin y Priority preemptive son apropiativos.

¿Qué es el convoy effect?

Es un fenómeno típico de FCFS: si un proceso de ráfaga muy larga llega primero, todos los demás esperan detrás aunque sean cortísimos. El tiempo medio de espera se dispara.

Carga el ejemplo «Convoy effect» (FCFS) y compara con SJF para verlo numéricamente.

¿Qué quantum elegir en Round Robin?

Si el quantum es muy pequeño hay demasiados cambios de contexto (overhead). Si es muy grande, RR degenera en FCFS. La regla práctica es que el quantum sea algo mayor que la mayoría de ráfagas cortas (~10-100 ms en sistemas reales).

Prueba el mismo conjunto de procesos con quantum 1, 2, 4 y 8 para ver el impacto.

¿Cómo se evita la inanición en Priority?

Con envejecimiento (aging): la prioridad de un proceso aumenta con el tiempo que lleva esperando. Así, tarde o temprano, hasta el de menor prioridad acaba siendo el más prioritario y entra en CPU.

Este simulador NO implementa aging, y con un lote finito de procesos todos acaban terminando: lo que se ve en el ejemplo de inanición es la postergación del menos prioritario, que es su síntoma.

¿Por qué SJF da el menor tiempo medio de espera?

Matemáticamente, ordenar los procesos por ráfaga creciente minimiza la suma de tiempos de espera (es un teorema clásico de scheduling). El precio es que necesitas conocer la ráfaga de antemano, lo cual no siempre es posible.

Los SO reales estiman la ráfaga futura con medias móviles exponenciales basadas en ráfagas pasadas.

¿Cómo usan estos algoritmos los sistemas operativos reales?

Linux usa el Completely Fair Scheduler (CFS), basado en árboles rojo-negro y noción de «tiempo virtual». Windows usa colas multinivel con Priority + envejecimiento. macOS combina prioridades con quantum dinámico. Casi nadie usa FCFS o SJF puros, pero son la base teórica imprescindible.

Round Robin sigue vivo en sistemas time-sharing y como base de muchos planificadores reales.

Cómo Calcular Tiempos a Mano — Paso a Paso

1
Construye el diagrama de Gantt

Aplica el algoritmo paso a paso. Para FCFS, ordena por llegada. Para SJF, en cada decisión elige el de menor ráfaga entre los disponibles. Anota inicio y fin de cada bloque.

2
Anota el momento de fin de cada proceso

Es el último momento en el que el proceso aparece en el Gantt. Para procesos apropiados (RR, SRTF), su última aparición.

3
Calcula el turnaround

Turnaround = fin − llegada. Es el tiempo total que el proceso ha vivido en el sistema desde que llegó hasta que terminó.

4
Calcula el tiempo de espera

Espera = turnaround − ráfaga. Es el tiempo que el proceso ha estado en la cola de listos sin ejecutar.

5
Calcula los promedios

Tiempo medio de espera = suma de esperas / número de procesos. Tiempo medio de turnaround = suma de turnarounds / número de procesos. Estos dos números son los que se piden en la mayoría de exámenes.

Mejores Prácticas

Empieza siempre por el Gantt

Antes de calcular nada, dibuja el diagrama. Los errores casi siempre vienen de un Gantt mal construido, no de la aritmética.

Cuidado con los tiempos de llegada

Si la CPU está ociosa porque ningún proceso ha llegado, marca un bloque idle. No olvides ese tiempo al calcular utilización.

En RR, define bien el orden de llegada a la cola

Si un proceso termina su quantum justo cuando otro llega, normalmente el recién llegado entra antes en la cola que el reincorporado.

Compara dos algoritmos con los mismos datos

La mejor forma de entender es coger el mismo conjunto de procesos y ejecutarlo con FCFS, SJF y RR. Anota tiempo medio de espera en cada uno.

SJF y SRTF requieren predicción

En la realidad no conoces la ráfaga futura. En problemas teóricos sí te la dan; en sistemas reales se estima con medias exponenciales.

Memoriza las fórmulas

Espera = Turnaround − Ráfaga. Turnaround = Fin − Llegada. Respuesta = Inicio − Llegada. Con estas tres se resuelve cualquier ejercicio.

Errores frecuentes a evitar
  • Olvidar el tiempo idle cuando ningún proceso ha llegado todavía: si el primer proceso llega en t=2, los primeros dos ut son idle.
  • Confundir tiempo de espera con tiempo de respuesta: la espera es total en cola; la respuesta es solo hasta entrar por primera vez en CPU.
  • En Round Robin, mandar el proceso recién terminado al final de la cola en vez de al recién llegado primero (depende de la convención del libro).
  • En Priority, usar «mayor número = mayor prioridad» cuando el enunciado dice lo contrario. Lee siempre la convención del problema: este simulador usa 1 = la más alta, que es la de Silberschatz, así que si tu enunciado numera al revés tendrás que invertir los valores antes de teclearlos.
  • Calcular el tiempo medio dividiendo entre el número de unidades de tiempo en lugar del número de procesos.
  • No considerar la inanición en Priority: un examen casi seguro pregunta «¿hay inanición?» si hay procesos baja prioridad y otros que llegan continuamente.

Apps relacionadas