Subido por Judo Irupe

Algoritmo SJF

Anuncio
25/9/21 13:44
Algoritmo SJF
Algoritmo 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 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:
1. Con Desalojo: 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� ejecuando,entonces dicho proceso es desalojado y el nuevo
proceso toma la CPU.
2. 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 ejecutarce.
Ejemplo del Algoritmo SJF (Con Desalojo)
Para el siguiente ejemplo se tienen 4 procesos (P1, P2,P3 y P4). A
medida que estos se van incorporando a la cola de listos, se les
calcula su pr�ximo ciclo de CPU.
Para calcular el pr�ximo ciclo de CPU se pueden emplear:
m�todos estad�sticos, c�lculos probabil�sticos, entre otros.
CCPU: pr�ximo ciclo de CPU.
En el ejemplo se toma como criterio que la
cola de procesos listos est� inicialmente
vac�a.
En la figura se representa la llegada de P1 a
la cola de listos con un tiempo de llegada
(0,0). Luego a P1 se le calcula su CCPU
(CCPU = 7) y en ese instante se comienza a
ejecutar.
Estando en ejecuci�n el proceso P1, se
incorpora a la cola de listos P2, al cual se le
https://www.udg.co.cu/cmap/sistemas_operativos/planificacion_cpu/sjf/sjf.html
1/3
25/9/21 13:44
Algoritmo SJF
calcula su CCPU (CCPU = 4).
Pero como el CCPU de P2 es menor que el
CCPU de P1, entonces P1 es desalojado y P2
toma la CPU. En este caso P1 se reincorpora
a la cola de listos porque no ha terminado
su ejecuci�n, y en ese instante se le vuelve
a calcular el valor del CCPU (CCPU = 6).
Luego llega el proceso P3 a la cola de listos y
se le calcula el CCPU (CCPU = 1).
Por lo que sucede igual que el caso anterior,
el CCPU de P3 es menor que el CCPU de P2,
por lo que se desaloja P2 para cederle la
CPU a P3.
P2 es reincorporado a la cola de listos
porque no ha terminado su ejecuci�n CCPU
y se le vuelve a calcular su CCPU (CCPU = 3).
El proceso P4 se incorpora a la cola de listos
y se le calcula su CCPU (CCPU = 4).
Luego P3 termina su ejecuci�n para cederle
la CPU al pr�ximo proceso que le
corresponda seg�n el criterio que
establece el algoritmo.
Para el ejemplo le corresponde el turno a
P2, luego a P4 y finalmente a P1.
Ejemplo del Algoritmo SJF (No Apropropiativa)
En esta implementaci�n sucede muy similar a la Apropiativa, pues el SJF si reorganiza la cola por el TE, pero la
diferencia es que cuando un proceso obtiene la CPU no lo abandona hasta que no concluye.
�Algoritmo �ptimo?
El SJF se considera como un algoritmo �ptimo, porque da el m�nimo tiempo de espera promedio para un
conjunto de procesos, as� como las estimaciones de CPU. Su dificultad radica en que materialmente es un
https://www.udg.co.cu/cmap/sistemas_operativos/planificacion_cpu/sjf/sjf.html
2/3
25/9/21 13:44
Algoritmo SJF
algoritmo imposible de implementar .
Mapas Conceptuales para la ense�anza de los Sistemas Operativos
https://www.udg.co.cu/cmap/sistemas_operativos/planificacion_cpu/sjf/sjf.html
3/3
Descargar