Diferencia entre revisiones de «Solución ejercicio 2»
De Wiki de Sistemas Operativos
Línea 12: | Línea 12: | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| | ||
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 | ||
+ | |||
+ | El proceso P1 comienza su ejecucion hasta agotar su ventana de tiempo , luego el proceso P2 bloquea al hacer el down(s2) ya que el semaforo s2 tiene el valor 0 , y como sabemos de los semaforos el proceso se bloquea hasta que no se vuelva a hacer un up(s2). P1 comienza y al hacer un up(s2) pasa p2 a estado preparado , luego al final de la ventana bloquea al hacer down(s1) ya que el contador en ese momento vale 0. Comienza la ejecucion p2 que estaba en estado preparado en el instante T = 10 hace un up(s1) por lo tanto p1 pasa a esta preparado. P1 se ejecuta y finaliza su ejecucion , y luego P2 se ejecuta y finaliza su ejecucion. |
Revisión del 16:06 9 may 2011
X = El proceso pasa a estado bloqueado. / = El proceso pasa a estado preparado. > = Fin de su ejecucion
| #1| #2| #3| | | #4| #1| #2| | | | #3| #4| | | | | | | | p1|---|---|---| | |---|---|---X | / |---|---> | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #1| #2| | | | #3| #4| #1| | | #2| #3| #4| | | | | p2| | | |---|---X / | |---|---|---| | |---|---|---> | | | | | | | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___| 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
El proceso P1 comienza su ejecucion hasta agotar su ventana de tiempo , luego el proceso P2 bloquea al hacer el down(s2) ya que el semaforo s2 tiene el valor 0 , y como sabemos de los semaforos el proceso se bloquea hasta que no se vuelva a hacer un up(s2). P1 comienza y al hacer un up(s2) pasa p2 a estado preparado , luego al final de la ventana bloquea al hacer down(s1) ya que el contador en ese momento vale 0. Comienza la ejecucion p2 que estaba en estado preparado en el instante T = 10 hace un up(s1) por lo tanto p1 pasa a esta preparado. P1 se ejecuta y finaliza su ejecucion , y luego P2 se ejecuta y finaliza su ejecucion.