logo

Programación del trabajo más corto primero (SJF)

Hasta ahora, programábamos los procesos según su hora de llegada (en programación FCFS). Sin embargo, el algoritmo de programación SJF programa los procesos de acuerdo con su tiempo de ráfaga.

En la programación SJF, el proceso con el tiempo de ráfaga más bajo, entre la lista de procesos disponibles en la cola listos, será el siguiente en programarse.

Sin embargo, es muy difícil predecir el tiempo de ráfaga necesario para un proceso, por lo que este algoritmo es muy difícil de implementar en el sistema.

ejemplo de poda alfa beta

Ventajas del SJF

  1. Rendimiento máximo
  2. Tiempo medio mínimo de espera y respuesta

Desventajas del SJF

  1. Puede sufrir el problema del hambre.
  2. No se puede implementar porque no se puede conocer de antemano el tiempo de ráfaga exacto de un proceso.

Existen diferentes técnicas disponibles mediante las cuales se puede determinar el tiempo de ráfaga de la CPU del proceso. Los discutiremos más adelante en detalle.

Ejemplo

En el siguiente ejemplo, hay cinco trabajos denominados P1, P2, P3, P4 y P5. Su hora de llegada y hora de ráfaga se indican en la siguiente tabla.

PID Hora de llegada Tiempo quemado Tiempo de finalización Tiempo de vuelta Tiempo de espera
1 1 7 8 7 0
2 3 3 13 10 7
3 6 2 10 4 2
4 7 10 31 24 14
5 9 8 21 12 4

Dado que Ningún Proceso llega al tiempo 0, por lo tanto; Habrá un espacio vacío en el Gráfico de gantt del tiempo 0 al 1 (el momento en el que llega el primer proceso).

Según el algoritmo, el sistema operativo programa el proceso que tiene el tiempo de ráfaga más bajo entre los procesos disponibles en la cola lista.

Hasta ahora, solo tenemos un proceso en la cola lista, por lo que el programador lo programará en el procesador sin importar cuál sea su tiempo de ráfaga.

Esto se ejecutará hasta 8 unidades de tiempo. Hasta entonces, tenemos tres procesos más llegados a la cola lista, por lo que el programador elegirá el proceso con el tiempo de ráfaga más bajo.

nat vs cama

Entre los procesos que figuran en la tabla, P3 se ejecutará a continuación ya que tiene el tiempo de ráfaga más bajo entre todos los procesos disponibles.

Así es como se desarrollará el procedimiento en El trabajo más corto primero (SJF) algoritmo de programación.

algoritmo de programación OS SJF

Tiempo de espera promedio = 27/5