Discusión:Solución ejercicio 1

De Wiki de Sistemas Operativos
Revisión del 22:52 10 may 2011 de Ajaest (discusión | contribuciones) (Página nueva: No estoy del todo seguro de la solución dada. Teniendo en cuenta los valores en cada momento de semáforos(justo después de ejecutar la instrucción y antes de que lo haga el planif...)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

No estoy del todo seguro de la solución dada. Teniendo en cuenta los valores en cada momento de semáforos(justo después de ejecutar la instrucción y antes de que lo haga el planificador):

     X = El proceso pasa a estado bloqueado.
     / = El proceso pasa a estado preparado.
     > = Fin del proceso
            |   |   | #1| #2| #3| #4| #5| #1|   | #2|   |   |   | #3| #4| #5| #1|   |   |   |
          p1|   |   |---|---|---|---|---|---|   |---X   /   |   |---|---|---|--->   |   |   |
            |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
            | #1| #2|   |   |   |   |   |   | #3|   | #4| #1| #2|   |   |   |   | #3| #4| #1|
          p2|---|---X   |   |   |   |   /   |---|   |---|---|---|   |   |   /   |---|---|--->
            |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
            0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19 20
            *********************************************************************************

s1.cont | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 2 |

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|

s1.prlist | | | | | | | | | |p1 | | | | | | | | | | |

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|

s2.cont | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|

s2.prlist | |p2 |p2 |p2 |p2 |p2 | | | | | | | p2| p2| p2| | | | | |

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|

p1.quantum | 3 | 3 | 2 | 1 | 0 | 2 | 1 | 0 | 3 | 2 | 2 | 2 | 2 | 1 | 0 | 3 | 2 | nc| nc| nc|

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|

p2.quantum | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 3 | 2 | 1 | 0 | 3 | 3 | 3 | 3 | 2 | 1 | 0 |

            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
                             (2)             (1)                     (2)
 (1) A p2 solo le quedaba una unidad de tiempo de su quantum, así que solo ejecuta una línea y no 3. Aquí cabría preguntarse si al pasar a estado bloqueado un nuevo quantum le es asignado
 (2) pese a que p1 agota su quantum, como p2 está bloqueado y p1 es el único proceso se le asigna un nuevo quantum