Diferencia entre revisiones de «Solución ejercicio 4»
De Wiki de Sistemas Operativos
Línea 39: | Línea 39: | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | ||
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 | ||
+ | |||
+ | Si es como creo, estoy de acuerdo con la segunda solución. Aunque me parece que se te ha olvidado indicar el desbloqueo de P1 en t = 10 ([[Usuario:PCamino|desertEagle]]). |
Revisión del 18:21 9 may 2011
p1: for (int i=0; i<2; i++) { #1
send(msg); #2
recv(msg); #3
}
for (int i=0; i<2; i++) { #1
recv(msg); #2
send(msg); #3
}
/: bloqueado, @: preparado, >: fin del programa, X: se ejecuta el planificador |i1=0 |i2=0 | i1=1| i2=1| i1=2|i2=2| | #1| #2| | | #3| | #1| #2| | | #3| | #1| | P1 |---|---/ | @---/ @---|---/ | @---/ @---> | | | | | | | | | | | | | | | | | | | #1| #2| | #3| | | #1| #2| | #3| | #1| P2 | | |---|---/ @---/ | @---|---/ @---/ |---> planif 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
--DvS 013 16:36 9 may 2011 (UTC):realmente creo que bloquearian los dos procesos p2 desde t=4 y p1 desde t=5, no?¿
Otra posible solución:
X = El proceso pasa a estado bloqueado. / = El proceso pasa a estado preparado. > = Fin de su ejecucion
| #1| #2| | | | #3| #1| #2| | | | #3| #1|FIN| | | | | | | p1|---|---X | / |---|---|---X | | |---|---> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #1| #2| #3| | | | #1| #2| #3| | | #1|FIN| | | | | | p2| | |---|---|---X / | |---|---|---X / |---> | | | | | | | | | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Si es como creo, estoy de acuerdo con la segunda solución. Aunque me parece que se te ha olvidado indicar el desbloqueo de P1 en t = 10 (desertEagle).