SJF
El algoritmo SJF (Shortest-Job-First) se basa en los ciclos de vida de los procesos, los cuales transcurren en dos etapas o periodos que son: ciclos de CPU y ciclos de entrada/salida, también conocidos por ráfagas. La palabra shortest (el más corto) se refiere al proceso que tenga el la ráfaga más corta. La idea es escoger entre todos los procesos listos el que tenga su próxima ráfaga más pequeña.
El SJF se puede comportar de dos formas:
- Con Desalojo: Si se incorpora un nuevo proceso a la cola de listos y este tiene una ráfaga menor que la ráfaga del proceso que se está ejecuando, entonces dicho proceso es desalojado y el nuevo proceso toma la CPU.
- Sin desalojo: Cuando un proceso toma la CPU, ningún otro proceso podrá apropiarse de ella hasta que que el proceso que la posee termine de ejecutarse.
Ejemplo de input:
chrome,0,35
python,1,44
mozilla,2,45
kmplayer,3,15
adobe acrobat,2,34
adobe flash,0,1
autocad,3,3
c++,1,1
| Proceso (P) | Tiempo de llegada (TLL) | Ráfaga de CPU (RAF) |
|---|
| Proceso (P) | T.E. |
|---|
| T.E.Proc | T.Eje. - T.Lleg. | TEP.Proc. |
|---|
| T.R.Proc | Raf. + T.Esp. | T.R.Proc. |
|---|