Diferencia entre revisiones de «Discusión:Solución ejercicio 1»
(Nueva sección: →Duda del ejercicio del Tema 7.) |
m (Nueva sección: →Duda del ejercicio del Tema 7.) |
||
Línea 30: | Línea 30: | ||
(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 | ||
+ | |||
+ | == Duda del ejercicio del Tema 7. == | ||
+ | |||
+ | En el ejercicio 1 del Tema 7, en el instante 14, se produce la instrucción Down(s2), cuando el valor de s2 es igual a 1, y en el ejemplo, bloquea al proceso 2. | ||
+ | Es correcto esa ejecución¿? | ||
+ | Al ser el valor del contador de s2 igual a 1, debería de seguir con la siguiente instrucción. | ||
+ | |||
+ | El resultado final, ¿puede ser de esta forma? | ||
+ | |||
+ | |||
+ | X = El proceso pasa a estado bloqueado. | ||
+ | / = El proceso pasa a estado preparado. | ||
+ | |||
+ | | | | #1| #2| #3| #4| #5| #1| | | | #2| #3| #4| | | | #5|#1 | | | ||
+ | p1| | |---|---|---|---|---|---| | | |---|---|---| | | |---|---> | ||
+ | | | | | | | | | | | | | | | | | | | | | | | ||
+ | | #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 | ||
== Duda del ejercicio del Tema 7. == | == Duda del ejercicio del Tema 7. == |
Revisión del 18:08 7 dic 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
Duda del ejercicio del Tema 7.
En el ejercicio 1 del Tema 7, en el instante 14, se produce la instrucción Down(s2), cuando el valor de s2 es igual a 1, y en el ejemplo, bloquea al proceso 2. Es correcto esa ejecución¿? Al ser el valor del contador de s2 igual a 1, debería de seguir con la siguiente instrucción.
El resultado final, ¿puede ser de esta forma?
X = El proceso pasa a estado bloqueado. / = El proceso pasa a estado preparado.
| | | #1| #2| #3| #4| #5| #1| | | | #2| #3| #4| | | | #5|#1 | | p1| | |---|---|---|---|---|---| | | |---|---|---| | | |---|---> | | | | | | | | | | | | | | | | | | | | | | #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
Duda del ejercicio del Tema 7.
En el ejercicio 1 del Tema 7, en el instante 14, se produce la instrucción Down(s2), cuando el valor de s2 es igual a 1, y en el ejemplo, bloquea al proceso 2. Es correcto esa ejecución¿? Al ser el valor del contador de s2 igual a 1, debería de seguir con la siguiente instrucción.
El resultado final, ¿puede ser de esta forma?
X = El proceso pasa a estado bloqueado. / = El proceso pasa a estado preparado.
| | | #1| #2| #3| #4| #5| #1| | | | #2| #3| #4| | | | #5|#1 | | p1| | |---|---|---|---|---|---| | | |---|---|---| | | |---|---> | | | | | | | | | | | | | | | | | | | | | | #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