Saltar a contenido

2.4 Comparar los algoritmos

Leer el resumen

Con los mismos procesos, los algoritmos dan resultados distintos, y no hay uno que sea el mejor en todo. FCFS es el más sencillo: atiende por orden de llegada. Pero un proceso muy largo hace esperar a todos los demás. SJF y SRT consiguen la menor espera media, porque ejecutan antes lo corto. Su problema es la inanición: un proceso largo puede quedarse sin ejecutarse nunca. Además, hay que saber de antemano cuánto va a durar cada proceso. HRN corrige eso. Parece a SJF, pero cuanto más espera un proceso, más prioridad gana, así que nadie se queda esperando para siempre. Round Robin reparte la CPU por turnos iguales. Es bueno para sistemas interactivos, pero si el quantum es muy pequeño se pierde tiempo cambiando de proceso, y las medias salen más altas. Y la prioridad permite favorecer lo importante, aunque los procesos de baja prioridad también pueden sufrir inanición. Recuerda: con otros procesos, el orden puede cambiar. Prueba con tus propios datos en el simulador.

Con los mismos cuatro procesos (A, B, C y D de 2.1), estas son las tres medias de cada algoritmo, calculadas por el programa:

Algoritmo Tiempo medio de servicio (T) Tiempo medio de espera (E) Índice de servicio medio (I)
FCFS 2,75 1 0,625
SJF 2,5 0,75 0,75
HRN 2,75 1 0,625
Round Robin (q = 2) 2,75 1 0,6875
SRT 2,5 0,75 0,75
Prioridad no apropiativa (con las prioridades del ejemplo) 3 1,25 0,675
Prioridad apropiativa (con las prioridades del ejemplo) 3 1,25 0,675

Cómo leer la tabla

Menor T y menor E es mejor; mayor I es mejor. Con estos datos, SJF y SRT consiguen la menor espera media (0,75) y la mayor eficiencia (índice medio de 0,75), y FCFS, HRN y Round Robin quedan algo peor. La prioridad depende de qué prioridades se hayan asignado, así que no se puede comparar en general con los demás: con otros procesos, el orden puede cambiar.

Algoritmo Ventaja Inconveniente
FCFS Muy sencillo y justo con el orden de llegada Un proceso largo retrasa a todos los demás
SJF Tiempo medio de espera bajo Los procesos largos pueden no ejecutarse nunca (inanición); hay que conocer el tiempo de ejecución de antemano
Prioridad Permite dar preferencia a lo importante Los procesos de prioridad baja pueden sufrir inanición
HRN Como SJF, pero la espera sube la prioridad: evita la inanición Hay que calcular P para cada proceso cada vez
Round Robin Reparto equitativo por turnos; bueno para sistemas interactivos Muchos cambios de contexto si el quantum es pequeño; tiempos medios más altos
SRT Aprovecha que llegue un proceso corto Puede expulsar muchas veces; mismo riesgo de inanición que SJF

Para practicar

Cambia los datos en el simulador y comprueba cómo varía cada media.