Diferencia entre revisiones de «Discusión:Solución ejercicio 1»
De Wiki de Sistemas Operativos
(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| | | | | |
− | + | 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.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) | |
(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