Diferencia entre revisiones de «Discusión:Solución ejercicio 1»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(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...)
 
Línea 4: Línea 4:
 
       / = El proceso pasa a estado preparado.
 
       / = El proceso pasa a estado preparado.
 
       > = Fin del proceso
 
       > = Fin del proceso
 
+
            |  |  | #1| #2| #3| #4| #5| #1|  | #2|  |  |  | #3| #4| #5| #1|  |  |  |
+
              |  |  | #1| #2| #3| #4| #5| #1|  | #2|  |  |  | #3| #4| #5| #1|  |  |  |
          p1|  |  |---|---|---|---|---|---|  |---X  /  |  |---|---|---|--->  |  |  |
+
            p1|  |  |---|---|---|---|---|---|  |---X  /  |  |---|---|---|--->  |  |  |
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
+
              |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
            | #1| #2|  |  |  |  |  |  | #3|  | #4| #1| #2|  |  |  |  | #3| #4| #1|
+
              | #1| #2|  |  |  |  |  |  | #3|  | #4| #1| #2|  |  |  |  | #3| #4| #1|
          p2|---|---X  |  |  |  |  /  |---|  |---|---|---|  |  |  /  |---|---|--->
+
            p2|---|---X  |  |  |  |  /  |---|  |---|---|---|  |  |  /  |---|---|--->
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
+
              |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
+
              |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
            0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19 20
+
              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.cont      | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 2 | 2 | 2 |
            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
+
              |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
s1.prlist    |  |  |  |  |  |  |  |  |  |p1 |  |  |  |  |  |  |  |  |  |  |
+
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.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|  |  |  |  |  |
+
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|
+
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 |
+
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)
+
                              (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
 
   (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
 
   (2) pese a que p1 agota su quantum, como p2 está bloqueado y p1 es el único proceso se le asigna un nuevo quantum

Revisión del 21:53 10 may 2011

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