Diferencia entre revisiones de «Solución Ejercicio 2 - Tema 8»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(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…')
(Sin diferencias)

Revisión del 19:23 25 ene 2014

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.