Rodolfo Pilas
bloger podcaster devops sysadmin profesor father
¿Cómo cambia la experiencia de los procesos cuando modificamos la regla de selección o el quantum?
Hoy: retomamos FCFS, lo resolvemos con SJF y SRTF, y después experimentamos con Round Robin.
Equipos de tres · entrega en WA
Usen el caso A de la clase anterior:
| Proceso | Llegada | Ráfaga de CPU |
|---|---|---|
| A | 0 | 8 |
| B | 1 | 4 |
| C | 2 | 2 |
| D | 3 | 1 |
30 minutos !
Para cada política, anoten antes de calcular:
En SRTF, registren especialmente lo que ocurre cuando llegan B, C y D.
30 minutos !
Cuando dos eventos ocurren en el mismo instante, necesitamos una convención para decidir cuál se procesa primero.
En este curso:
1. se incorporan primero las llegadas del instante;
2. luego se reencola el proceso que agotó su quantum;
3. los empates restantes se resuelven por llegada y orden de entrada.
Esta convención se aplicará en E4 y en el banco de WA.
Parejas · entrega en WA
Parte A: caso A con Round Robin y q=2.
Parte B: caso C. A, B y C llegan en t=0 y requieren 5 u.t. cada uno.
Comparen q=1, q=2 y q=5 usando respuesta media, retorno medio, espera media y cambios entre procesos.
Suban la predicción, los cálculos y una explicación de qué mejora y qué empeora. La corrección será posterior.
30 minutos !
Un cambio entre procesos consume tiempo del sistema operativo.
En un modelo estable con turnos completos:
fracción útil aproximada = q / (q + c)
La fórmula es una aproximación y no reemplaza el análisis de una traza con llegadas, terminaciones o inactividad.
Individual o parejas · entrega en WA
Supongan turnos completos de q ms y un coste de cambio c=0,2 ms.
Entreguen las cuentas y una explicación de los supuestos. La corrección será posterior.
10 minutos !
| Política | Puede favorecer | Puede perjudicar |
|---|---|---|
| SJF | Trabajos breves | Trabajos largos |
| SRTF | Llegadas breves posteriores | Más desalojos y dependencia del restante |
| Round Robin | Primera atención y reparto | Más cambios cuando q es pequeño |
La comparación solo es válida si se conserva la misma carga, la misma ventana y las mismas convenciones.
Tenemos un simulador
La salida del programa sirve para revisar el razonamiento; no reemplaza el Gantt ni la explicación entregada en WA.
simulador.py.python3 simulador.py --help
python3 simulador.py --caso A --algoritmo SJF
python3 simulador.py --caso A --algoritmo SRTF
python3 simulador.py --caso A --comparar
python3 simulador.py --caso C --algoritmo RR --quantum 1
python3 simulador.py --archivo mis_procesos.csv --comparar
La salida contiene la traza, las métricas por proceso, los promedios, los cambios entre procesos, la utilización y la productividad. En un notebook también pueden usar:
from simulador import simular, CASOS
simular(CASOS["A"], "SRTF")
Para una carga propia, el CSV debe tener las columnas id,llegada,rafaga,prioridad.
By Rodolfo Pilas