FCFS (First-Come, First-Served)
Empezaremos hablando de FCFS o también llamado FIFO (del inglés First In, First Out). Este
algoritmo es muy sencillo y simple, pero también el que menos rendimiento ofrece,
básicamente en este algoritmo el primer proceso que llega se ejecuta y una vez terminado se
ejecuta el siguiente.
SJF (Shortest Job First).
Este algoritmo siempre prioriza los procesos más cortos primero independientemente de su
llegada y en caso de que los procesos sean iguales utilizara el método FIFO anterior, es decir,
el orden según entrada. Este sistema tiene el riesgo de poner siempre al final de la cola los
procesos más largos por lo que nunca se ejecutarán, esto se conoce como inanición.
SRTF (Short Remaining Time Next).
Añadiendo la expulsión de procesos al algoritmo SJF obtenemos SRTF, éste será capaz de
expulsar un proceso largo en ejecución para ejecutar otros más cortos. El problema que puede
surgir es que un proceso largo puede llegar a expulsarse muchas veces y nunca terminar
debido a la ejecución de otros mas cortos.
Round Robin.
Por último os hablaré de Round Robin, este algoritmo de planificación es uno de los más
complejos y difíciles de implementar, asigna a cada proceso un tiempo equitativo tratando a
todos los procesos por igual y con la misma prioridad.
Este algoritmo es circular, volviendo siempre al primer proceso una vez terminado con el
último, para controlar este método a cada proceso se le asigna un intervalo de tiempo
llamado quantum o cuanto (para definirlo se utiliza esta regla, el 80% de los procesos tienen
que durar menos tiempo que el quantum definido).
Pueden suceder dos casos con este método (como se aprecia en la imagen inferior):
o El proceso es menor que el quantum: Al terminar antes se planifica un nuevo
proceso.
o El proceso es mayor que el quantum: Al terminar el quantum se expulsa el proceso
dando paso al siguiente proceso en la lista. Al terminar la iteración se volverá para
terminar el primer proceso expulsado
o Podemos deducir que el algoritmo SJF es el que tiene mejor promedio, ya que tiene un
buen tiempo de espera y tiempo de retorno. FCFS y SRTF tienen unos tiempos de
espera similares, pero SFJ sigue siendo mejor en este aspecto.
o Round Robin tiene el mejor tiempo de espera para los procesos con muchísima
diferencia, pero por el contrario su tiempo de retorno es el más alto debido a la
expulsión de procesos cuando se termina el quantum.
o Por lo tanto es muy difícil decidir que algoritmo es mejor que el otro y todo dependerá
de la situación en la que estemos, siendo muy útil un estudio de lo que necesitamos
para utilizar un método u otro, o incluso combinarlos según nuestras necesidades.