Discusión:Solución Ejercicio 1
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 ]