Hola, yo lo haría de la siguiente manera:
Recursos usados:
R1 R2 R3 R4
3 5 4 0
R1 R2 R3 R4
P1 1 0 0 1
P2 0 2 0 1
P3 0 0 0 2
Recursos que Todavía Necesitan
Opción 1)
Para ejecutar P1 necesito 1 0 0 1
y cuando libera queda 1 2 0 1
Puedo ejecutar P2 queda 2 3 2 1
Para ejecutar P3 necesito 2 3 2 2
O sea que en total haya: 4 5 4 2
Opción 2)
Para ejecutar P2 necesito 0 2 0 1
y cuando libera queda 1 3 2 1
Puedo ejecutar P1 queda 1 5 2 1
Para ejecutar P3 necesito 1 5 2 2
O sea que en total haya: 3 7 4 2
Opción 3)
Para ejecutar P3 necesito 0 0 0 2
y cuando libera queda 2 2 2 2
Puedo ejecutar P2 queda 3 3 2 2
Puedo ejecutar P1 queda 3 5 2 2
Elijo la tercera opción que es en la que menos recursos disponibles necesito.
El vector de recursos disponibles sería 0 0 0 2 una vez ya asignadas las 2 instancias del recurso 3 a P2.
Por lo tanto, antes de asignarlo el vector debe ser:
R1 R2 R3 R4
0 0 2 2
Está también resuelto en el Campus Virtual, podés entrar como invitado:
http://www.campusvirtual.frba.utn.edu.ar...hp?d=21138