SJF, significa (Short Job First – El trabajo más corto
primero) se refiere al proceso que tenga el próximo ciclo de CPU más corto. La
idea es escoger entre todos los procesos listos el que tenga su próximo ciclo
de CPU más pequeño, que asocia a cada proceso la longitud de la siguiente
ráfaga de CPU de ese proceso. 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 planificación
FiFo
Puede comprobarse que el
algoritmo SJF es óptimo, ya que ofrece el menor tiempo promedio para un
conjunto de procesos dados.
Este algoritmo presenta una
gran ventaja, pues el tiempo de espera será mucho menor, pues mientras los
procesos de tiempo inferior terminan y ocupan tiempo en operaciones de E/S, el
CPU se ocupa de resolver el proceso con mayor tiempo.
Este algoritmo puede ser preemptive y nonpreemptive. En el caso depreemptive,
cuando un proceso llega a la cola de procesos listos, su prioridad es
comparada con la prioridad del proceso que está corriendo. Si la prioridad del nuevo
proceso es mayor, entonces se atiende al nuevo proceso
Ejemplo:
1. Se tiene el siguiente listado de tareas
1. Se tiene el siguiente listado de tareas
2. Se empiezan a ingresar las tareas para ser procesadas, escogiendo la tarea mas corta (cual aplica para todas las tareas), por lo tanto se ingresa la T3, con un tamaño de 8
3. Luego se ingresa la tarea T4, esta tiene un tamaño de 9, mas los 8 ocupados por T3, para un total de 17.
4. Posteriormente se ingresa T1 con un tamaño de 12, mas los 17 ya ocupados por T3 y T4, para un total de 29.
5. Ahora se ingresa la T5, la cual ocupa 13, mas los 29 ya ocupados por las tareas ingresadas
anteriormente, serian 42.
6. Por último entra T2, con 15 de tamaño, mas el tamaño de las tareas previamente ingresadas, son 57
7. Luego se suman todos los tamaños de cuando son procesadas las tareas:
8 + 17 + 29 + 42 + 57 = 153
y para hallar el tiempo promedio de ejecución, se toma el resultado de la suma y se divide en la cantidad de tareas que ingresaron.
153 / 5 = 30.6
Por último se tiene un vídeo explicativo del algoritmo SJF, en donde se evidencian algunos ejercicios.
hola que mas y no tiene el sjf apropiativo
ResponderBorrarese es el apropiativo
ResponderBorrar