Sol-ejer3-planif-procesos

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar

Ejercicio 2

Datos del problema:
                        | Pa | Pb | Pc  | Pd |
                    --------------------------
                     H0 | 0  | 1  |  2  | 3  |
                    --------------------------
                     t  | 4  | 4  |  12 | 12 |
                    --------------------------

                 Pa y Pb bloquean por operación de E/S tras 1 unidad de ejecución

                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      ↑ = promociona porque ha consumido el quantum.
                      B = Bloquea.
                     !!!= Indica que la cola sobre la que se itera ha cambiado

      | 1 |   |   |   |   |   |   |   | 2 |   |   |   |   |   |   |   |   |   | 1 |   |
Pa    <---B...P---B...P   |   |   |   |---B...P   |   |   |   |   |   |   |   |--->   |
      |   | 1 |   |   |   | 1 |   |   |   |   |   |   |   |   |   |   |   | 1 |   | 2 |
Pb    |   <---B...P   |   |---B...P   |   |   |   |   |   |   |   |   |   |---B...P--->
      |   |   |   | 1 | ↑ |   |   |   |   | 1 |   |   |   |   |   |   |   |   |   |   |
Pc    |   |   <   |---|---|   |   |   |   |---|---|---|---|   |   |   |   |   |   |   |
      |   |   |   |   |   |   | 2 | ↑ |   |   |   |   |   | 1 |   |   |   |   |   |   |
Pd    |   |   |   <   |   |   |---|---|   |   |   |   |   |---|---|---|---|   |   |   |
Plnf  X   X   X   X   |   X   X   |   X   X   |   |   |   X   |   |   |   X   X   X   X
      |___|___|___|___|___|___|___|___|__!!!__|___|___|___|___|___|___|__!!!__|___|__!!!
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20



      |   |   |   |   |   |   |   |   |   |   |   |   |
Pa    |   |   |   |   |   |   |   |   |   |   |   |   |
Pb    |   |   | 1 |   |   |   |   |   | 1 |   |   |   |
Pc    |---|---|---|---|   | 1 |   |   |---|---> 1 |   |
Pd    |   |   |   |   |---|---|---|---|   |   |---|--->
Plnf  X   |   |   |   X   |   |   |   X   |   X   |   |
      |___|___|___|___|___|___|___|__!!!__|___|___|___|
      20  21  22  23  24  25  26  27  28  29  30  31  32

Cálculo de índices:

                        | Pa | Pb |  Pc | Pd |
                    --------------------------
                     t  | 4  | 4  |  12 | 12 |
                    --------------------------
                     T  | 19 | 20 |  30 | 32 |
                    --------------------------
                   T/t  |4.75| 5  | 2.5 |2.66|
                    --------------------------
  • He añadido sobre cada proceso el número de vez de iteración de la cola a la que pertenece. Así se puede ver que por cada dos iteraciones de una cola, se hace una iteración de la otra.
  • Notese que en el instante 28, se itera sobre la cola 2 dos veces, pero al no contener elementos la iteración es nula, y se pasa a la siguiente cola prevista.


Explicación:

Todos los procesos empiezan inicialmente en la segunda cola. Pa y Pb reciben una oportunidad de ejecución sin consumir su quantum debido a bloqueo, por tanto, permanecen en la segunda cola. Pc y Pd consumen todo su quantum, por tanto, promocionan a la primera cola. Los procesos Pa y Pb se ejecutan otra vez, pues los procesos que se encuentran en la segunda cola reciben dos oportunidades de ejecución. Tras esto, los procesos recién ascendidos a la primera cola, que son Pc y Pd, reciben su oportunidad de ejecución, en este caso con quantum de 4 unidades. De nuevo, se le da oportunidad de ejecución a los procesos de la segunda cola, que terminan su ejecución. Como no hay más procesos en la segunda cola, se le da una oportunidad de ejecución a los de la primera. --Pneira 18:36 22 mar 2011 (UTC)

Dudas

No entiendo por qué en la unidad de tiempo 18 no aparece el proceso c y d y posteriormente a b c y d.Esto es a lo que me refiero --Jherrera:


      |   |   |   |   |   |   |   |   |   |   |   |   |
Pa    |   |   |   |   |   |   |   |   |--->   |   |   |
Pb    |   |   |   |   |   |   |   |   |   |--->   |   |
Pc    |---|---|---|---|   |   |   |   |   |   |------->
Pd    |   |   |   |   |---|---|---|---|   |   |   |   |------>
Plnf  |   |   |   |   X   |   |   |   X   |   X   |   X 
      |___|___|___|___|___|___|___|___|___|___|___|___|
      18  19  20  21  22  23  24  25  26  27  28  29  30


Solucion: Por que en la 2ª cola estan los procesos A y B, por que nunca consumen los quantums, y la 2ª cola siempre se itera 2 veces.


¿No se supone que la cola 1 posee mayor prioridad que la 2? siendo asi, mientras C y D esten en la 1ª cola no se le debería volver a dar oportunidad a la cola 2 no?¿--DvS 013

Creo que se lo que dices. Aunque C y D esten en la primera cola, se pasa a la segunda. Esto es porque la primera cola no tiene mas prioridad, sino solo un quantum más ancho. Entonces se mira la primera cola, luego 2 veces la segunda, y vuelta a empezar --PCamino

El problema creo yo es que el enunciado ha sido modificado de esta mañana para acá, porque yo también hice el ejercicio para subirlo a la wiki, pero se me adelantaron, y esta mañana en el enunciado ponia que la cola 1 tenia más prioridad que la 2, y ademas no ponia el tiempo que estaban en estado bloqueado los procesos, ahora si lo pone, y no pone lo de la prioridad. Yo estoy de acuerdo con la solucion propuesta arriba. --Josmorgav1 21:42 22 mar 2011 (UTC)



Vaya caos! Podemos poner ambos ejercicios --PCamino

Con respecto a la prioridad de las colas multinivel realimentadas, creo que carecen de prioridad, simplemente basta con saber cuantas veces se ejecutan cada una y en cual de ellas se meten los procesos que van llegando.--Jmf bsk 23:10 22 mar 2011 (UTC)


DUDA: Creo que este ejercicio está hecho para tiempos de bloqueo de 2 unidades, mientras que en el enunciado los tiempos de bloqueo es de 1 t. Si fuera para tiempos de bloqueo = 1 en el instante 2 Pa regresa a la cola 2 de preparados, luego pasaría a estado activo antes que Pd , por lo que en t=4 Pa pasaría a estado activo,después iría Pd y después la segunda ejecución de Pb. Lo escribo para aclararlo:

Pa y Pb bloquean cada unidad de tiempo, durante una unidad de tiempo de bloqueo.

      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
Pa    <---|   |   |   |---|   |   |   |   |   |   |   |   |   |   |   |---|   |--->   |
Pb    |   <---|   |   |   |   |   |---|   |   |   |   |   |   |   |   |   |---|   |--->
Pc    |   |   <---|---|   |   |   |   |---|---|---|---|   |   |   |   |   |   |   |   |
Pd    |   |   |   <   |   |---|---|   |   |   |   |   |---|---|---|---|   |   |   |   |
Plnf  X   X   X   |   X   X   |   X   X   |   |   |   X   |   |   |   X   |   |   |   X
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20

¿es correcta la solución que planteo para una unidad de tiempo de bloqueo?



Nueva Duda:

Si sobre la cola 2 se itera dos veces, porque no se vuelve al Pa y Pb en el instante de tiempo 8? Como sucede en el instante 18.

R: Fijate que en el instante de tiempo t=6 ya es la 2ª vez que se itera sobre Pa y Pb, la diferencia radica en que en la cola 2 inicialmente existian cuatro procesos que había que atenderlos en RR, añadiendo que Pa y Pb bloquean cada 1 UT, a diferencia del intante t=18 solo existen Pa y Pb y como dice el enunciado se les da dos oportunidades de ejecucion si no consumen su quantum. --Albsolnog 11:53 13 nov 2011 (UTC)

R1: Añado para mayor comprensión del ejercicio que en el instante t=6 empieza la segunda iteración de la cola 2, lo que pasa es que en esta iteración nada más que entran Pa y Pb, ya que los procesos Pc y Pd han consumido su quantum entero y han promocionado a la cola 1. --Josazcrom 18:55 22 nov 2011 (UTC)


P:No terminaría el proceso A y el B justo después de hacer el bloqueo? Porqué en el ejercicio termina justo antes de ser bloqueado incluso?