Duda SJF

Duda SJF

de Aldo Martin Plazzotta Aguilera -
Número de respuestas: 3

Si bien el nombre de este esquema de planificación es "primero el trabajo más corto", en realidad debería ser "primero el trabajo cuya próxima ráfaga sea más corta".

Por ejemplo, si tengo dos procesos A y B que acaban de terminar una ráfaga de E/S, se encuentran en la cola de procesos listos y a punto de ejecutar ráfagas de CPU.

Supongamos que la ráfaga de A es de 50 ms y la de B de 40 ms.

En este caso, sin duda, se elije a B.

Pero ¿qué pasa si A ya ha ejecutado 20 ms? 

¿se le asocia a A el total de la ráfaga (50 ms) y por lo tanto se elije a B?

¿O acaso a A se le asocia lo que resta de la ráfaga (30 ms) y por lo tanto se le da prioridad por sobre B?

Espero que hayan quedado claros los casos. Saludos.

En respuesta a Aldo Martin Plazzotta Aguilera

Re: Duda SJF

de Jorge Merlino -
En tu segundo ejemplo la ráfaga de A es de 30 ms por lo tanto se elige A. Lo que pasó en el pasado no importa, el algoritmo solo mira cuanto van a a ejecutar ahora los procesos de la cola de listos.


En respuesta a Jorge Merlino

Re: Duda SJF

de Leonardo Matias Dornel Fagundez -

Jorge tengo una duda acerca de eso. Suponiendo que se sabe que luego A se bloquea por 50ms (el tiempo total de A sería 30 + 50 = 80ms que le quedan por ejecutar a A). ¿ Se sigue eligiendo a A primero que B?

En respuesta a Leonardo Matias Dornel Fagundez

Re: Duda SJF

de Jorge Merlino -
Al planificador de la CPU no le importa cuanto se bloquean los procesos. Solo tiene que elegir uno de la cola de listos. La próxima ráfaga de A sigue siendo 30 ms, después no va a volver a la cola de listos hasta que se desbloquee y ahí se verá que se hace.