SJF(Shortest Job First) – Algoritmo de planificación de procesos

SJF(Shortest Job First) – Primero el trabajo mas corto

 

 

SJF(Shortest Job First) – El algoritmo de planificación de procesos primero el trabajo mas corto, supone que los tiempos de ejecución se conocen de antemano. Por ejemplo, en una empresa las personas que laboran en ella, pueden predecir con bastante precisión cuanto tiempo se requerirá para ejecutar un lote de 100 reclamaciones, ya que se realiza un trabajo similar cada día. Cuando hay varios trabajos de igual importancia a ser iniciados en la cola de entrada, el planificador selecciona el trabajo mas corto primero SJF(Shortest Job First) y en caso de empate prioriza con el algoritmo primero en entrar primero en salir (FIFO, First In First Out). 

 

Características  – SJF(Shortest Job First)

 

  • Asociar a casa proceso el tiempo de ráfaga de CPU: una vez llega cada proceso se le asigna tiempo de ráfaga de CPU, que son las unidades de tiempo que requieren para que  el proceso  se ejecute completamente.
  • Selecciona el proceso con menor ráfaga de CPU: antes de ejecutar cada proceso el algoritmo prioriza cual es el proceso mas corto a ejecutar. 
  • En caso de empate aplicar FIFO: si llega a presentarce empate en dos o mas procesos de rafaga de CPU, el algoritmo cambia a priorizar primero en entrar primero en salir, algoritmo FIFO. 
  • Algoritmo no expulsivo: una vez se empieza a ejecutar cada proceso no será interrumpido hasta finalizar. 

 

Ejemplo aplicado al sistema operativo – SJF(Shortest Job First)

 

En la siguiente tabla vamos a suponer que en el sistema operativo se van a ejecutar 4 procesos, Word, Excel, Paint y la calculadora, cada proceso requiere para su ejecución ráfaga de CPU, que seria como las unidades de tiempo que se requieren para que el programa se ejecute completamente, estas unidades pueden ser segundos, milésimas o nanosegundos a su vez también se muestra cuales son los tiempos de llegada de cada proceso. 

 

algoritmos de planificación de procesos

 

Representación gráfica del algoritmo el trabajo mas corto

 

A continuación vamos a representar en un plano cartesiano la ejecución de los procesos con el algoritmo de planificación el trabajo mas corto – SJF(Shortest Job First) tomando como base la tabla anterior. Si analizamos la columna tiempo de llegada de cada uno de los procesos, el proceso que llega primero es Word, el segundo Excel, el tercero Paint y cuarto la calculadora. (Observa el grafico)

Sin embargo el orden de ejecución no es el mismo por que el algoritmo prioriza es  ráfaga de CPU el mas corto, el primer proceso que se ejecuta es Word, segundo la calculadora, tercero Paint y por ultimo el programa Excel tomando las unidades de tiempo de ráfaga de CPU que se requieren para que el proceso se ejecute completamente. En caso de empate se ejecuta el proceso que llegue primero. 

Primero el trabajo mas corto

 

Nota: este algoritmo no tiene en cuenta el tiempo de llegada, excepto cuando hallan casos de empate en el tiempo de ráfaga de CPU entre varios procesos. Para esos casos se le da prioridad al proceso que llego primero. 

 

 

 

Calculo tiempo del sistema

 

Para calcular el tiempo del sistema  del ejercicio anterior vamos hacer uso de la siguiente formula:

Tiempo del sistema = tiempo de salida – tiempo de llegada

Tiempo de salida: es el tiempo cuando se termina de ejecutar el proceso, y tiempo de llegada en el momento en que llega el proceso. Para nuestro caso los resultados quedan de la siguiente forma: 

 

WordExcelPaintCalculadora
8-0=818-4=1414-2=1210-6=4

Calculo tiempo de espera

 

Para calcular el tiempo de espera  del ejercicio anterior vamos hacer uso de la siguiente formula:

Tiempo de espera: tiempo de ejecución – Tiempo de llegada 

Tiempo de ejecución: es el tiempo cuando se empieza a ejecutar el proceso, y tiempo de llegada es el momento en que llega el proceso. Para nuestro caso los resultados quedan de la siguiente forma: 

WordExcelPaintCalculadora
0-0=014-4=1010-2=88-6=2

 

Calculo tiempo promedio de espera

 

Para el calculo tiempo promedio de espera se suman los resultados del tiempo de espera dividido el numero de procesos. Para nuestro caso los resultados quedan de la siguiente forma: 

 

(0+10+8+2)/4=5

 

Por ultimo si este post te fue de ayuda te invitamos a que comentes y a que compartas con personas que lo necesitan.