Planificación de la CPU
Cómo decide el sistema operativo quién se ejecuta después y por qué esa elección cambia tanto la espera media como la equidad.
Siempre hay más trabajo que CPU. El planificador elige un proceso listo cada vez, y esa elección determina quién espera. Distintos objetivos — rendimiento, latencia, equidad — llevan a distintos algoritmos.
Primero llega un trabajo largo. Observa cómo espera todo lo que va detrás.
| Proceso | Llegada | Duración | Estado | Usado |
|---|---|---|---|---|
| P1 | 0 | 6 | esperando | — |
| P2 | 1 | 4 | esperando | — |
| P3 | 2 | 2 | esperando | — |
| P4 | 3 | 1 | esperando | — |
- P1
P1 llega con una duración de 6 ms
- Tiempo de espera medio
- 0
- Tiempo de retorno medio
- 0
- Tiempo total
- 0
| Algoritmo | Tiempo de espera medio | Tiempo de retorno medio | Tiempo total |
|---|---|---|---|
| First-Come, First-Served | 5.5 | 8.75 | 13 |
| Shortest Job First | 4 | 7.25 | 13 |
| Round-Robin | 5.75 | 9 | 13 |
El tiempo de espera es cuánto estuvo un proceso listo sin ejecutarse. El tiempo de retorno va desde la llegada hasta la finalización. Estos dos números son los que realmente juzgan a un algoritmo de planificación.
Round-Robin da a cada proceso una porción fija (un quantum) y rota. Ningún proceso espera para siempre, por eso el sistema se siente ágil, pero quantums cortos implican más cambios de contexto, y esos cuestan tiempo real.
# Правило, которое стоит запомнить:
#
# waiting time = (момент завершения - приход) - burst
# turnaround time = момент завершения - приход
#
# Пример из набора «convoy» (P1=6, P2=4, P3=2, P4=1):
#
# FCFS: P1[0..6] P2[6..10] P3[10..12] P4[12..13]
# среднее ожидание = (0 + 5 + 8 + 9) / 4 = 5.5
#
# SJF : P1[0..6] P4[6..7] P3[7..9] P2[9..13]
# среднее ожидание = (0 + 3 + 5 + 8) / 4 = 4.0
#
# SJF выигрывает, потому что короткие работы успевают
# пройти раньше, а не стоят за длинной. Это и есть convoy effect.Práctica
¿Qué algoritmo puede dejar sin CPU indefinidamente a un trabajo largo si no paran de llegar trabajos cortos?
Pistas
- Piensa qué trabajo es adelantado una y otra vez por otros más cortos.
- Uno de estos algoritmos nunca deja que un trabajo corto nuevo se cuele.
12 XP
Usa el simulador de abajo para comparar FCFS y SJF con el mismo conjunto de procesos. ¿Cuál da menor tiempo de espera medio y por qué?
Pistas
- Ejecuta ambos y compara el tiempo de espera medio que muestra el simulador.
- Pregúntate si un trabajo largo está retrasando a los cortos que van detrás.
18 XP
Ordena las decisiones de Round-Robin para P1(4ms), P2(2ms) con un quantum de 2ms.
Pistas
- Cada proceso recibe el quantum antes de ser expropiado.
- Un proceso que termina antes abandona la cola.
15 XP