Discusión:Solución Ejercicio 1

De Wiki de Sistemas Operativos
Revisión del 17:21 27 nov 2011 de Migoligon (discusión | contribuciones) (Posible solución con tablas: un pequeño fail)
Saltar a: navegación, buscar

NO ESTÁ REVISADO POR PABLO NO LO USEIS HASTA CONFIRMAR

Posible solución con tablas

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0 1 1 2
P2 0 0 1 0 1 1
P3 1 1 0 1 1 1


Disponibles = [ 1 0 1 ]

 

Solo podemos adjudicar y que se complete el proceso 3. Quedando así:

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0 1 1 2
P2 0 0 1 0 1 1
P3 1 1 0+1 1 1 1

Disponibles restantes = [ 1 0 0 ]

 

Como tenemos P3 completo, éste libera los recursos. Entonces tenemos:

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0 1 1 2
P2 0 0 1 0 1 1
P3 * * * * * *

Disponibles = [ 2 1 1 ]
En P3 ponemos '*' dado que ya no necesitaría ningún otro recurso más.

Entre P1 y P2, si adjudicamos los disponibles el único que iguala o supera el máximo sería P2. Si lo hacemos queda así:

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0 1 1 2
P2 0 0+1 1 0 1 1
P3 * * * * * *

Disponibles restantes = [ 2 0 1 ]

 

Ahora P2 está completo al igual que antes ocurrió con P3. Tendremos algo del tipo:

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0 1 1 2
P2 * * * * * *
P3 * * * * * *

Disponibles = [ 2 1 2 ]

 

Ahora solo podemos asignarselo a P1. Probamos si podemos completar el máximo:

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 1 1 0+2 1 1 2
P2 * * * * * *
P3 * * * * * *

Disponibles restantes = [ 2 1 0 ]

 

Se ha completado toda la tabla de procesos, podemos asegurar que es un estado seguro.

Adjudicados Máximos
R1 R2 R3 R1 R2 R3
P1 * * * * * *
P2 * * * * * *
P3 * * * * * *

 

Disponibles al final del ejercicio= [ 3 2 2 ]