19
ALGORITMOS DE PLANIFICACION DAVID ESTEBAN RODRIGUEZ GOMEZ

Sjf srtf

Embed Size (px)

Citation preview

Page 1: Sjf   srtf

ALGORITMOS DE PLANIFICACION

DAVID ESTEBAN RODRIGUEZ GOMEZ

Page 2: Sjf   srtf

SJF (Shortest Job First)

Concepto:

Disciplina no apropiativa y no recomendable en ámbitos de tiempo compartido, el proceso espera con el menor tiempo de ejecución hasta su terminando permitiendo que el siguiente se ejecute.

Page 3: Sjf   srtf

• Los tiempos de espera son menos predecibles que en “FIFO”.

• Favorece a los procesos cortos en detrimento de

los largos. • Tiende a reducir el número de procesos en espera

y el número de procesos que esperan detrás de procesos largos.

• Requiere un conocimiento preciso del tiempo de

ejecución de un proceso, lo que generalmente se desconoce.

• Se pueden estimar los tiempos en base a series

de valores anteriores.

Características

Page 4: Sjf   srtf

Funciones

• Asocia a cada proceso tiempo aproximado de la utilización del CPU

• Asigna la CPU al proceso con menor tiempo asociado

• Cuando un proceso consigue la CPU, la conserva hasta que desea liberarla

Page 5: Sjf   srtf

Problemáticas

Estimación del tiempo de utilización del CPU por parte de un proceso

Page 6: Sjf   srtf

EjemploPara 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.

Page 7: Sjf   srtf

EjemploEn 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.

Page 8: Sjf   srtf

Estando en ejecución el proceso P1, se incorpora a la cola de listos P2, al cual se le 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).

Ejemplo

Page 9: Sjf   srtf

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).

Ejemplo

Page 10: Sjf   srtf

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

Page 11: Sjf   srtf

¿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 algoritmo imposible de implementar .

Page 12: Sjf   srtf

SRTF (Shortest Remaining Time

First)Concepto:

Da prioridad al proceso que le resta menor tiempo de CPU para terminar, es una variante del SJF pero con expulsión, optimiza la media del tiempo de espera y rendimiento.

Page 13: Sjf   srtf

Características

Es la contraparte apropiativa del SJF.

Es útil en sistemas de tiempo compartido.

El proceso con el tiempo estimado de ejecución menor para finalizar es el siguiente en ser ejecutado. Un proceso en ejecución puede ser apropiado por un nuevo proceso con un tiempo estimado de ejecución menor.

Tiene mayor sobrecarga que la planificación SJF.

Debe mantener un registro del tiempo de servicio transcurrido del proceso en ejecución, lo que aumenta la sobrecarga. Los trabajos largos tienen un promedio y una varianza de los tiempos de espera aún mayor que en SJF.

La apropiación de un proceso a punto de terminar por otro de menor duración recién llegado podría significar un mayor tiempo de cambio de contexto (administración del procesador) que el tiempo de finalización del primero.

Page 14: Sjf   srtf

Funciones

• Los procesos llega a la cola y solicitan intervalo de CPU

• Si el intervalo es inferior al que falta al proceso en ejecución para abandonar la CPU, el nuevo proceso pasa a la CPU y el que se ejecutaba a la cola de preparados.

Page 15: Sjf   srtf

Problemáticas

• El intervalo es difícil de predecir

• Posibilidad de inanición: los trabajos no se ejecutaran mientras hayan trabajos cortos

Page 16: Sjf   srtf

Ejemplo

Page 17: Sjf   srtf

Si un nuevo proceso pasa a listo se activa el dispatcher para ver si es más corto que lo que queda por ejecutar del proceso en ejecución. Si es así el proceso en ejecución pasa a listo y su tiempo de estimación se decrementa con el tiempo que ha estado ejecutándose. En la figura 6.5 tenemos un ejemplo de funcionamiento del algoritmo en el que se observa cómo se penalizan las ráfagas largas (como en SJF). Un punto débil de este algoritmo se evidencia cuando una ráfaga muy corta suspende a otra un poco más larga, siendo más largo la ejecución en este orden al ser preciso un cambio adicional de proceso y la ejecución del código del planificador.

Ejemplo

Page 18: Sjf   srtf

Ejemplos ambas planificaciones

Para que puedan observar el ejemplo por favor ingresen a esta dirección

http://www.youtube.com/watch?v=-vxbZUi78yI

Page 19: Sjf   srtf

GRACIAS POR SU ATENCIÓN