Solución Ejercicio 2 - Tema 8

De Wiki de Sistemas Operativos
Revisión del 18:23 25 ene 2014 de Cripolgon (discusión | contribuciones) (Página creada con '==== Solución Ejercicio 2 - Tema 8 ==== Para poder resolver este ejercicio debemos ver que la suma recAsig + recDisp >= recMax, si esto se cumple para todos los procesos enton…')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Solución Ejercicio 2 - Tema 8

Para poder resolver este ejercicio debemos ver que la suma recAsig + recDisp >= recMax, si esto se cumple para todos los procesos entonces estamos ante una configuración cuyo estado es seguro. Para ello seguimos el algoritmo visto en clase.

Primero comprobamos si se puede ejecutar P1:

 R1: recAsig = 3, recDisp = 1 ---> recAsig + recDisp = 4, ¿2 >= recMax = 0?---> OK
 R2: recAsig = 0, recDisp = 1 ---> recAsig + recDisp = 1, ¿1 >= recMax = 2?---> NO

Comprabomos si se puede ejecutar P2:

 R1: recAsig = 0, recDisp = 1 ---> recAsig + recDisp = 1, ¿1 >= recMax = 1?---> OK
 R2: recAsig = 2, recDisp = 1 ---> recAsig + recDisp = 3, ¿3 >= recMax = 0?---> OK
 R3: recAsig = 1, recDisp = 0 ---> recAsig + recDisp = 1, ¿1 >= recMax = 0?---> OK

Se ejecuta en primer lugar P2, ahora este proceso libera todos los recursos que tiene asignado y por tanto el vector de recursos disponibles quedaria:

[0 3 1]

Comprobamos si se puede ejecutar P1 pero con el nuevo vector.

 R1: recAsig = 0, recDisp = 1 ---> recAsig + recDisp = 1, ¿1 >= recMax = 1?---> OK
 R2: recAsig = 2, recDisp = 1 ---> recAsig + recDisp = 3, ¿3 >= recMax = 0?---> OK
 R3: recAsig = 1, recDisp = 0 ---> recAsig + recDisp = 1, ¿1 >= recMax = 0?---> OK

Se ejecuta el proceso P1, se liberan los recursos asignados a este proceso y el vector de recursos disponibles queda:

[4 3 3]

Comprobamos si se puede ejecutar P3 pero con el nuevo vector.

 R1: recAsig = 0, recDisp = 1 ---> recAsig + recDisp = 1, ¿1 >= recMax = 1?---> OK
 R2: recAsig = 2, recDisp = 1 ---> recAsig + recDisp = 3, ¿3 >= recMax = 0?---> OK
 R3: recAsig = 1, recDisp = 0 ---> recAsig + recDisp = 1, ¿1 >= recMax = 0?---> OK

Por tanto, al no producirse interbloqueos podemos decir que es una configuración de estado seguro.