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