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.