Parcial 2014 - Ej 2

Parcial 2014 - Ej 2

de Lorena Campistrous Faggiani -
Número de respuestas: 1

Al mirar la solución de este ejercicio me surje una duda con el tema de que sea expropiativo, y cuando se le puede quitar el procesador a un proceso. 

Si dice que no se retrasan procesos de prioridad alta si solo están ejecutando procesos de prioridad baja, eso quiere decir que siempre puede quitarle el procesador si el proceso es de prioridad baja y viene uno de prioridad alta, sin importarme si todavía no terminó su quantum. 

Es decir, si el quantum es de 50ms y el proceso va ejecutando 30ms, le puedo quitar el procesador?

Creí debía esperar a que terminara el quantum, y entré en la duda con la solución. 

Espero comentarios. 

Muchas gracias.

Saludos, 


Lorena

En respuesta a Lorena Campistrous Faggiani

Re: Parcial 2014 - Ej 2

de Martin Pacheco -

Al agregar esa restriccion de que los de baja prioridad no deberian retrasar a los de alta, si tenes en una CPU uno de baja prioridad ejecutando, y te llega uno a la cola de alta prioridad, deberias expropiarle el CPU a ese.

El unico caso en el cual no expropiarias el CPU cuando llega uno nuevo de alta prioridad(dadas las condiciones planteadas en la letra), es cuando en ambos CPUs tenes procesos de alta prioridad ejecutando y el que llega no tiene menor rafaga de CPU que la restante de los que estan  ejecutando (recordando que la cola de alta prioridad usa planificacion SJF).



Si te fijas en las dos soluciones que pusieron al problema, vas a ver que en lo unico que difieren es que:

En un momento, tenes en las 2 CPUs procesos de baja prioridad corriendo, y te llega uno de alta prioridad.
En una solucion expropias a uno de ellos, y en la otra solucion expropias al otro. Ambas son correctas, porque no fue planteado ningun criterio respecto a cual elegir cuando se da esta situacion, y lo unico que cambia es como sigue a partir de ese punto.

Espero que haya quedado claro.