Sol-ejer6-planif-procesos

De Wiki de Sistemas Operativos
Revisión del 13:39 11 nov 2011 de Josmorsot (discusión | contribuciones) (Apartado a)
Saltar a: navegación, buscar

Apartado a

                   ____|_PA_|_PB_|_PC_|_PD_|
        Datos del  _H0_|_0__|_2__|_3__|_5__|
         problema  _t__|_3__|_1__|_4__|_6__|
                     < = indica el instante de lanzamiento del proceso
                     > = indica el instante de finalización del proceso
                     & = el proceso bloquea debido a una llamada bloqueante
                     # = el proceso bloquea debido a que ha consumido su cuanto
                     X = se ejecuta el código del planificador
                     p = el proceso pasa a estado preparado
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PA  <---&   |   |   p---&   |   |   p--->   |   |   |   |   |   |   |   |   |   |   |
             PB  |   |   <--->   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PC  |   |   |   <---#   |---&   p---#   |--->   |   |   |   |   |   |   |   |   |   |
             PD  |   |   |   |   |   <   |---#   |   |   |---|---|---|---|--->   |   |   |   |   |
    Planificador X   X   X   X   X   X   X   X   X   X   X   |   |   |   |   X   |   |   |   |   |
            -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
                 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20

-Respuesta: debido a que el quantum tiene un tamaño muy pequeño el planificador de tareas se ejecuta continuamente (tiempo del sistema alto) con lo que el rendimiento se verá afectado.


DUDA: En t=5 ¿por qué se inicia PC en vez de PD? Si entra PD en t=5 se debería ejecutar porque en RR estricto los procesos recién lanzados deben ejecutarse, similar a lo de orden de llegada. He pensado que puede ser por la prioridad pero esque aquí en la tabla no viene las prioridades, solo H0 y t. --Luisa Mª.

- En t=4 se han ejecutado Pa,Pb y Pc, entonces le tocaría el turno a Pd pero como en ese momento no está preparado se le pasa el turno a Pa otra vez, después de ejecutarse este se le pasa el turno a Pb pero como ya ha terminado de ejecutarse se salta al proceso siguiente: Pc. ¡Aunque también es posible que me haya equivocado! --jesgonbel.

- Creo que como dice Luisa se debería ejecutar PD, porque los recien llegados tienen prioridad frente a los que ya se han iniciado.--Josmorsot 12:39 11 nov 2011 (UTC)

Apartado b

En ambos casos la solución es la misma.


                   ____|_PA_|_PB_|_PC_|_PD_|
        Datos del  _H0_|_0__|_2__|_3__|_5__|
         problema  _t__|_3__|_1__|_4__|_6__|
                     < = indica el instante de lanzamiento del proceso
                     > = indica el instante de finalización del proceso
                     & = el proceso bloquea debido a una llamada bloqueante
                     # = el proceso bloquea debido a que ha consumido su cuanto
                     X = se ejecuta el código del planificador
                     p = el proceso pasa a estado preparado
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PA  <---&   |   |   p---&   |   |   |   |--->   |   |   |   |   |   |   |   |   |   |
             PB  |   |   <--->   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PC  |   |   |   <---#   |---&   p---|--->   |   |   |   |   |   |   |   |   |   |   |
             PD  |   |   |   |   |   <   |---#   |   |   |---|---|---|---|--->   |   |   |   |   |
    Planificador X   X   X   X   |   |   X   X   |   X   X   |   |   |   |   X   |   |   |   |   |
            -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
                 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20

Apartado c

                   ____|_PA_|_PB_|_PC_|_PD_|
        Datos del  _H0_|_0__|_2__|_3__|_5__|
         problema  _t__|_3__|_1__|_4__|_6__|
                     < = indica el instante de lanzamiento del proceso
                     > = indica el instante de finalización del proceso
                     & = el proceso bloquea debido a una llamada bloqueante
                     # = el proceso bloquea debido a que el planificador le retira el procesador
                     X = se ejecuta el código del planificador
                     p = el proceso pasa a estado preparado
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PA  <---&   |   |   p---&   |   |   p   |   |---&   |   |   >   |   |   |   |   |   |
             PB  |   |   <--->   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
             PC  |   |   |   <---#   |---&   p---|---&   >   |   |   |   |   |   |   |   |   |   |
             PD  |   |   |   |   |   <   |---#   |   |---|   |---|---|---|--->   |   |   |   |   |
    Planificador X   X   X   X   X   X   X   X   X   X   X   |   |   |   |   X   |   |   |   |   |
            -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
                 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20

Indices de penalizacion: PA=9 PB=1 PC=7/4 PD=9/6