2. CARACTERISTICAS
Cuando la CPU queda disponible, asigna al proceso
cuya siguiente ráfaga de CPU sea más corta.
Si hay dos procesos cuyas siguientes ráfagas de CPU tienen la misma duración, se emplea la planifición
FCFS (First Come, First Served) o FIFO (Fisrt in First Out) para romper el empate.
3. VENTAJAS
SJF da el mínimo tiempo de espera promedio para conjunto de procesos.
Entra en CPU el proceso con la ráfaga de CPU más breve.
El algoritmo SJF nos da el mínimo tiempo de espera, por lo que en un sistema por lotes es muy óptimo.
4. DESVENTAJA
El principal problema que presenta el planificador SJF, es la dificultad que tiene el sistema de saber
eltiempo de utilización de procesador, que necesitará un proceso determinado en el próximo ciclo.
No es justa, ya que favorece a los procesos cortos frente a los largos.
La dificultad en el algoritmo SJF es conocer el tiempo de duración de cada proceso.
Este algoritmo SJF no se puede implementar en cualquier sistema operativo, solo en aquellos que
funcionan por lotes.
5. 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 próximo ciclo de CPU mas corto. La
idea es escoger entre todos los procesos listos el que tenga su próximo ciclo de CPU más pequeño. El
SJF se puede comportar de dos formas:
Expulsivo : Si se incorpora un nuevo proceso a la cola de listos y este tiene un ciclo de CPU menor que el
ciclo de CPU del proceso que se está ejecutando, entonces dicho proceso es desalojado y el nuevo
proceso toma la CPU.
No Expulsivo : Cuando un proceso toma la CPU, ningún otro proceso podrá apropiarse de ella hasta que
el proceso que la posee termine de ejecutarse.
6.
7. 1. ALGORITMO SJF NO EXPULSIVO
Proceso
Llegad
a
Duracion
P1 0 7
P2 2 4
P3 4 1
P4 5 4
P4
P3
P2
P1
0
P1 Se ejecuta primero por ser el primero en llegar con una ráfaga de
7
P3 Tiene menor ráfaga de CPU es el que se ejecuta después
P2 y P4 tienen misma duración se aplica FIFO
8. 2. ALGORITMO SJF EXPULSIVO
Proceso
Llegad
a
Duracion
P1 0 7
P2 2 4
P3 4 1
P4 5 4
Tiempo de Espera Medio = (9+1+0+2)/4=3
P1 Se ejecuta primero por ser el primero en llegar con una ráfaga de 7 (se ejecutan 2 ****
faltan 5)
Para tiempo 2 llega el segundo proceso, es el que pasa a ejecutarse tiempo 4 (se ejecutan 2 **** faltan
2)
Para tiempo 4 llega el tercer proceso, es el que pasa a ejecutarse tiempo1
9. CONCLUSIONES
El algoritmo SJF nos da el mínimo tiempo de espera,
por lo que un sistema por lotes es muy óptimo. El funcionamiento consiste en escoger el proceso más
corto y ejecutarlo. Si hay dos procesos cuyas ráfagas de la CPU tiene la misma duración, se emplea el
algoritmo FCFS o FIFO para romper el empate.