Вы находитесь на странице: 1из 49

Interbloqueos G8

GRAFO DE ASIGNACIN
DE RECURSOS
INTERBLOQUEO
Muchos de los procesos requieren utilizar recursos de Entrada y Salida al mismo tiempo, en este
caso de produce un Interbloqueo.
El interbloqueo es un problema que afecta a procesos concurrentes que utilizan recursos en un
sistema.
Los interbloqueos pueden describirse utilizando un grafo dirigido y bipartito llamado grafo de
asignacin de recursos.
Que constan en un conjunto de N Nodos y E Arcos
Hay dos tipos de Nodos
SOLICITA
P1 R1

ASIGNADO

Hay dos tipos de Arcos

Solicitud
Asignacin
Arista de Declaracin
Indica que el proceso Pi puede solicitar un recurso Rj en cualquier instante futuro.
Pi Rj

Es similar a una arista de solicitud en lo que respecta a direccin, pero se representa


con la lnea de trazos.

Cuando un proceso Pi libera un recurso Rj la arista de asignacin se convierte en una


arista de declaracin Pi Rj
Grafo de Asignacin de Recursos

Si tenemos un sistema de asignacin de recurso con solo una instancia de cada tipo de recurso, puede

utilizarse una variante del grafo de asignacin de recursos para evitar los interbloqueos.

Adems de las aristas de asignacin y solicitud, existe un nuevo tipo de arista llamada Arista de

Declaracin

Si el grafo de Asignacin de Recursos no tiene CICLOS, entonces ningn proceso del sistema se

encuentra en interbloqueo.

Si hay un Ciclo puede haber un Interbloqueo.


Estado Seguro
No hay interbloqueo.
Es cuando se pueden asignar recursos a cada proceso en algn orden.
De un estado Seguro tambin se puede pasar a un estado INSEGURO

Estado Inseguro
Puede haber interbloqueo o no.
De no haberlo ya, el que se llegue o no a interbloqueo depende de como se
sucedan las solicitudes de los recursos.
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

SEGURO R1

P2
P1

R2
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

INSEGURO R1

P2
P1

R2
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

Bloqueo R1

P2
P1

R2

EXCLUSION MUTUA .- Ningn recurso ESFERA CIRCULAR.- Porque estn


Puede ser solicitado por otro proceso Esperando que los procesos liberen
Hasta que este sea liberado Los recursos
EJEMPLOS
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

SEGURO R1 R3

P1 P2 P3

R2
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

INSEGURO
R1 R3

P1 P2 P3

R2
ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS

BLOQUEO
R1 R3

P1 P2 P3

R2
Algoritmo del Banquero

Mltiples instancias.
Cada proceso debe reclamar a priori el mximo uso.
Cuando un proceso requiere un recurso puede tener que esperar.
Cuando un proceso obtiene todos sus recursos debe retomarlos en una cantidad finita de tiempo
ALGORITMO DEL
BANQUERO
Algoritmo de Seguridad
ALGORITMO DE SEGURIDAD
Matriz Mximo. Mx. Matriz asignacin. Asignacin
A B C A B C
Son las exigencias Son las asignaciones
7 5 3 0 1 0
mximas de recursos para actuales de recursos
3 2 2 2 0 0
cada proceso, ejemplo: para cada proceso,
9 0 2 ejemplo: 3 0 2
2 2 2 2 1 1
Matriz Necesidad. 4 3 3 0 0 2
Es lo que va a necesitar en ese proceso Disponible.
para lograr lo mximo, por ejemplo : Disponible
Vector que indica la
Formula para obtener la necesidad es: cantidad total de recursos A B C
Necesidad = Mx. Asignacin
sin asignar a los procesos.
3 3 2
Mx. Asignacin Necesidad
Estado seguro. Es un estado en el que
existe al menos un orden en el que
Procesos A B C A B C A B C
todos los procesos pueden ejecutar
P0 = 7 5 3 - 0 1 0 = 7 4 3 hasta el final sin generar interbloqueo.
P1 =
P2 = Secuencia segura
P3 = P1 P3 P0 P2 P4
P4 =
Algoritmo de Seguridad
EJEMPLO
ILUSTRATIVO
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema
Asignacin Mx. Disponible
Procesos A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
n = # procesos
P1 2 0 0 3 2 2
m = # tipo de recursos
P2 3 0 2 9 0 2
Formula n x m 2 1 1 2 2 2
P3
Matriz de 5 x 3 P4 0 0 2 4 3 3
5 Filas, 3 columnas
Necesidad = Max. - Asignacin

Mx. Asignacin Necesidad

Procesos A B C A B C A B C
P0 = 7 5 3 - 0 1 0 = 7 4 3
P1 =
P2 =
P3 =
P4 =
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema
Asignacin Mx. Disponible
Procesos A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
n = # procesos
P1 2 0 0 3 2 2
m = # tipo de recursos P2 3 0 2 9 0 2
Formula n x m P3 2 1 1 2 2 2
Matriz de 5 x 3 P4 0 0 2 4 3 3
5 Filas, 3 columnas
Necesidad = Max. - Asignacin

Mx. Asignacin Necesidad

Procesos A B C A B C A B C
P0 = 7 5 3 - 0 1 0 = 7 4 3
P1 = 3 2 2 - 2 0 0 = 1 2 2
P2 =
P3 =
P4 =
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema
Asignacin Mx. Disponible
Procesos A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
n = # procesos
P1 2 0 0 3 2 2
m = # tipo de recursos
P2 3 0 2 9 0 2
Formula n x m P3 2 1 1 2 2 2
Matriz de 5 x 3 P4 0 0 2 4 3 3
5 Filas, 3 columnas
Necesidad = Max. - Asignacin

Mx. Asignacin Necesidad

Procesos A B C A B C A B C
P0 = 7 5 3 - 0 1 0 = 7 4 3
P1 = 3 2 2 - 2 0 0 = 1 2 2
P2 = 9 0 2 - 3 0 2 = 6 0 0
P3 =
P4 =
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema
Asignacin Mx. Disponible
Procesos A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
n = # procesos
P1 2 0 0 3 2 2
m = # tipo de recursos
P2 3 0 2 9 0 2
Formula n x m P3 2 1 1 2 2 2
Matriz de 5 x 3 P4 0 0 2 4 3 3
5 Filas, 3 columnas
Necesidad = Max. - Asignacin

Mx. Asignacin Necesidad

Procesos A B C A B C A B C
P0 = 7 5 3 - 0 1 0 = 7 4 3
P1 = 3 2 2 - 2 0 0 = 1 2 2
P2 = 9 0 2 - 3 0 2 = 6 0 0
P3 = 2 2 2 - 2 1 1 = 0 1 1
P4 =
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema
Asignacin Mx. Disponible
Procesos A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
n = # procesos
P1 2 0 0 3 2 2
m = # tipo de recursos
P2 3 0 2 9 0 2
Formula n x m P3 2 1 1 2 2 2
Matriz de 5 x 3 P4 0 0 2 4 3 3
5 Filas, 3 columnas
Necesidad = Max. - Asignacin

Mx. Asignacin Necesidad

Procesos A B C A B C A B C
P0 = 7 5 3 - 0 1 0 = 7 4 3
P1 = 3 2 2 - 2 0 0 = 1 2 2
P2 = 9 0 2 - 3 0 2 = 6 0 0
P3 = 2 2 2 - 2 1 1 = 0 1 1
P4 = 4 3 3 - 0 0 2 = 4 3 1
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con Necesidad < Trabajo


longitud m y n, respectivamente. Necesidad Disponible
Asignar los valores iniciales
Procesos A B C A B C
Trabajo = Disponible
P0 7 4 3 < 3 3 2 No, entonces con este no
Fin = False puedo empezar la
2. Busca una i tal que secuencia segura.
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
ir al paso 2 Disponible Asignacin Trabajo Fin
4. Si Fin = True para todos los procesos, el Procesos A B C A B C A B C
sistema esta en estado seguro. P0 F
P1 F
P2 F
P3 F
P4 F
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesidad Disponible
Fin = False Procesos A B C A B C
2. Busca una i tal que P0 7 4 3 < 3 3 2 Si, Ah si empiezo mi secuencia segura,
a) Fin = false P1 1 2 2 < 3 3 2 Entonces como si se da lo que hago es
b)Necesidad < Trabajo asignarle los recursos que necesita el P1

3. Trabajo = Trabajo + Asignacin Asignacin


Fin = True
A B C
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en Trabajo = Trabajo(Disponible) + Asignacin 0 1 0
estado seguro. 2 0 0
Secuencia segura Disponible Asignacin Trabajo Fin
3 0 2
P1 Procesos A B C A B C A B C
2 1 1
P0 F
0 0 2
P1 3 3 2 + 2 0 0 = 5 3 2 T
P2 F
P3 F
P4 F
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesidad Disponible
Fin = False Procesos A B C A B C
2. Busca una i tal que
a) Fin = false P1 1 2 2 < 3 3 2
b)Necesidad < Trabajo No, entonces con este no puedo
P2 6 0 0 < 5 3 2 empezar la secuencia segura.
3. Trabajo = Trabajo + Asignacin
Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesidad Disponible
Fin = False Procesos A B C A B C
2. Busca una i tal que
a) Fin = false P1 1 2 2 < 3 3 2
b)Necesidad < Trabajo
Si, Ah si empiezo mi secuencia segura,
3. Trabajo = Trabajo + Asignacin P3 0 1 1 < 5 3 2 Entonces como si se da lo que hago es
Fin = True asignarle los recursos que necesita el P1

ir al paso 2 Asignacin
4. Si Fin = True para todos los procesos, el sistema esta en Trabajo = Trabajo(Disponible) + Asignacin
estado seguro. A B C
Disponible Asignacin Trabajo Fin 0 1 0
Secuencia segura
P1 P3 Procesos A B C A B C A B C
2 0 0
P0 F
3 0 2
P1 3 3 2 + 2 0 0 = 5 3 2 T 2 1 1
P2 F
0 0 2
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 F
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false
b)Necesidad < Trabajo P1 1 2 2 < 3 3 2
3. Trabajo = Trabajo + Asignacin
Fin = True P3 0 1 1 < 5 3 2 Si, Ah si empiezo mi secuencia segura,
Entonces como si se da lo que hago es
ir al paso 2 P4 4 3 1 < 7 4 3
asignarle los recursos que necesita el P1
4. Si Fin = True para todos los procesos, el sistema esta en Trabajo = Trabajo(Disponible) + Asignacin
estado seguro.
Asignacin
Secuencia segura
Disponible Asignacin Trabajo Fin A B C
P1 P3 P4
Procesos A B C A B C A B C 0 1 0
F
P1 3 3 2 + 2 0 0 = 5 3 2 T 2 0 0
P2 F 3 0 2
P3 5 3 2 + 2 1 1 = 7 4 3 T 2 1 1
P4 7 4 3 + 0 0 2 = 7 4 5 T
0 0 2
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false P0 7 4 3 < 7 4 5
Si, Ah si empiezo mi secuencia segura,
b)Necesidad < Trabajo P1 1 2 2 < 3 3 2 Entonces como si se da lo que hago es
3. Trabajo = Trabajo + Asignacin asignarle los recursos que necesita el P1

Fin = True P3 0 1 1 < 5 3 2


ir al paso 2 P4 4 3 1 < 7 4 3 Asignacin
4. Si Fin = True para todos los procesos, el sistema esta en Trabajo = Trabajo(Disponible) + Asignacin A B C
estado seguro.
Disponible Asignacin Trabajo Fin 0 1 0
Secuencia segura
Procesos A B C A B C A B C 2 0 0
P1 P3 P4 P0
P0 7 4 5 + 0 1 0 = 7 5 5 T 3 0 2
2 1 1
P1 3 3 2 + 2 0 0 = 5 3 2 T
P2 F 0 0 2
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 7 4 3 + 0 0 2 7 4 5 T
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false P0 7 4 3 < 7 4 5
b)Necesidad < Trabajo P1 1 2 2 < 3 3 2
P2 6 0 0 < 7 5 5 Si, Ah si empiezo mi secuencia segura,
3. Trabajo = Trabajo + Asignacin
Entonces como si se da lo que hago es
Fin = True P3 0 1 1 < 5 3 2 asignarle los recursos que necesita el P1
ir al paso 2 P4 4 3 1 < 7 4 3
Asignacin
4. Si Fin = True para todos los procesos, el sistema esta en Trabajo = Trabajo(Disponible) + Asignacin
estado seguro. A B C
Disponible Asignacin Trabajo Fin
Secuencia segura 0 1 0
P1 P3 P4 P0 P2 Procesos A B C A B C A B C
P0 7 4 5 + 0 1 0 = 7 5 5 T 2 0 0
P1 3 3 2 + 2 0 0 = 5 3 2 T 3 0 2
P2 7 5 5 + 3 0 2 = 10 5 7 T
2 1 1
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 7 4 3 + 0 0 2 7 4 5 T 0 0 2
Ejemplo: Ilustrativo
Considere un sistema con 5 procesos, P0 a P4 y 3 tipos de recursos A,B y C. El tipo de Recurso A
tiene 10 ejemplares, B tiene 5 ejemplares y C tiene 7 ejemplares. Suponiendo que, en el instante T
se tom la siguiente instantnea del sistema

1. Sean Trabajo y Fin vectores con longitud m y n,


respectivamente.
Asignar los valores iniciales
Trabajo = Disponible
Fin = False Disponible Asignacin Trabajo Fin
2. Busca una i tal que Procesos A B C A B C A B C
a) Fin = false P0 7 4 5 + 0 1 0 = 7 5 5 T
b)Necesidad < Trabajo
P1 3 3 2 + 2 0 0 = 5 3 2 T
3. Trabajo = Trabajo + Asignacin P2 7 5 5 + 3 0 2 = 10 5 7 T
Fin = True P3 5 3 2 + 2 1 1 = 7 4 3 T
ir al paso 2 P4 7 4 3 + 0 0 2 7 4 5 T
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.
Secuencia segura (P1, P3, P4, P0, P2)
P1 P3 P4 P0 P2 Esta es mi secuencia segura, tenemos que respetar un
orden para que se ejecuten los procesos.
ALGORITMO DEL
BANQUERO
Algoritmo de Solicitud de
Recursos
ALGORITMO DE SOLICITUD DE RECURSOS
Sea solicitud el vector de solicitudes del proceso, si solicitud [j]=k, el proceso
quiere K ejemplares del tipo de recursos, cuando proceso, solicita recursos, se
emprende las siguientes acciones.
1. Si Solicitud < Necesidad, ir al paso 2. En caso contrario, indica una condicin
de error, pues el proceso ha excedido su reserva mxima.
2. Si Solicitud < Disponible, ir al paso 3. En caso contrario P, deber esperar, ya
que los recursos no estn disponibles.
3. Hacer que el sistema simule haber asignado al proceso P, los recursos que
solicito modificando el estado como sigue.
Disponible = Disponible - Solicitud
Asignacin = Asignacin + Solicitud
Necesidad = Necesidad - Solicitud
Si el estado de asignacin de recursos resultante es seguro, la transaccin se
llevara a cabo y se asignarn los recursos al proceso, pero si el nuevo estado es
inseguro, tendr que esperar solicitud y se restaurar al antiguo estado de
asignacin de recursos.
EJEMPLO
ILUSTRATIVO
Ejemplo: Ilustrativo. Supongamos ahora que el proceso P1 Solicita un ejemplar adicional del tipo de
recursos A y dos ejemplares del tipo de recurso C, de modo que solicitud = [1,0,2]
Para decidir si esta solicitud se puede satisfacer de inmediato, primero verificamos que Solicitud <
Disponible esto es, que[1,0,2] < [3,3,2] lo cual es cierto. Ahora simulamos que la solicitud se atendi y
llegamos al estado nuevo siguiente.

Asignaci Mx. Disponible Necesidad


n
Procesos A B C A B C A B C Disponible = Disponible - Solicitud
P0 A B C
7 5 3 3 3 2 7 4 3 Disponible = Disponible - Solicitud
P1 0 1 0
3 2 2 1 2 2
230 = 332 - 102
P2 2 0 0 6 0 0
9 0 2
P3 3 0 2 0 1 1
2 2 2
P4 2 1 1 4 3 1
4 3 3
0 0 2
Ejemplo: Ilustrativo. Supongamos ahora que el proceso P1 Solicita un ejemplar adicional del tipo de
recursos A y dos ejemplares del tipo de recurso C, de modo que solicitud = [1,0,2]
Para decidir si esta solicitud se puede satisfacer de inmediato, primero verificamos que Solicitud <
Disponible esto es, que[1,0,2] < [3,3,2] lo cual es cierto. Ahora simulamos que la solicitud se atendi y
llegamos al estado nuevo siguiente.

Asignaci Mx. Disponible Necesidad


n
Procesos A B C A B C A B C Asignacin = Asignacin + Solicitud
P0 A B C 7 4 3
7 5 3 3 3 2
Asignacin = Asignacin + Solicitud
P1 0 1 0 1 2 2
3 2 2
302 = 200 + 102
P2 2 0 0 6 0 0
9 0 2
P3 3 0 2 0 1 1
2 2 2
P4 2 1 1 4 3 1
4 3 3
0 0 2
Ejemplo: Ilustrativo. Supongamos ahora que el proceso P1 Solicita un ejemplar adicional del tipo de
recursos A y dos ejemplares del tipo de recurso C, de modo que solicitud = [1,0,2]
Para decidir si esta solicitud se puede satisfacer de inmediato, primero verificamos que Solicitud <
Disponible esto es, que[1,0,2] < [3,3,2] lo cual es cierto. Ahora simulamos que la solicitud se atendi y
llegamos al estado nuevo siguiente.

Asignaci Mx. Disponible Necesidad


n
Procesos A B C A B C A B C Necesidad = Necesidad - Solicitud
P0 A B C 7 4 3
7 5 3 3 3 2
Necesidad = Necesidad - Solicitud
P1 0 1 0 1 2 2
3 2 2
020 = 122 - 102
P2 2 0 0 6 0 0
9 0 2
P3 3 0 2 0 1 1
2 2 2
P4 2 1 1 4 3 1
4 3 3
0 0 2
La Nueva matriz es :

Asignacin Necesidad Disponible


Procesos A B C A B C A B C
P0 0 1 0 7 4 3 2 3 0
P1 3 0 2 0 2 0
P2 3 0 2 6 0 0
P3 2 1 1 0 1 1
P4 0 0 2 4 3 1
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente.
Asignar los valores iniciales
Trabajo = Disponible
Fin = False Necesidad < Trabajo
2. Busca una i tal que
a) Fin = false Necesida
Disponible
b)Necesidad < Trabajo d
3. Trabajo = Trabajo + Asignacin Procesos A B C A B C No, entonces con este no puedo
P0 7 4 3 < 2 3 0 empezar la secuencia segura.
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
Si, Ah si empiezo mi secuencia segura,
a) Fin = false P0 7 4 3 < 2 3 0 Entonces como si se da lo que hago es
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0 asignarle los recursos que necesita el P1

3. Trabajo = Trabajo + Asignacin


Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro. Trabajo = Trabajo(Disponible) + Asignacin

Disponible Asignacin Trabajo


Secuencia segura
P1 Procesos A B C A B C A B C
P0 F

P1 2 3 0 + 3 0 2 = 5 3 2 T
P2 F
P3 F
P4 F
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0 No, entonces con este no puedo
empezar la secuencia segura.
3. Trabajo = Trabajo + Asignacin P2 6 0 0 < 5 3 2
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0
Si, Ah si empiezo mi secuencia segura,
3. Trabajo = Trabajo + Asignacin Entonces como si se da lo que hago es
Fin = True P3 0 1 1 < 5 3 2 asignarle los recursos que necesita el P1

4. Si Fin = True para todos los procesos, el sistema esta en


estado seguro. Trabajo = Trabajo(Disponible) + Asignacin

Disponible Asignacin Trabajo FIN


Secuencia segura
P1 P3 Procesos A B C A B C A B C
P0 F
P1 2 3 0 + 3 0 2 = 5 3 2 T
P2 F
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 F
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
Si, Ah si empiezo mi secuencia segura,
2. Busca una i tal que Procesos A B C A B C Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1
a) Fin = false
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0
3. Trabajo = Trabajo + Asignacin
Fin = True P3 0 1 1 < 5 3 2
4. Si Fin = True para todos los procesos, el sistema esta en P4 4 3 1 < 7 4 3
estado seguro. Trabajo = Trabajo(Disponible) + Asignacin

Disponible Asignacin Trabajo


Secuencia segura
P1 P3 P4 Procesos A B C A B C A B C

P1 2 3 0 + 3 0 2 = 5 3 2 T
P2 F
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 7 4 3 + 0 0 2 = 7 4 5 T
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false
Si, Ah si empiezo mi secuencia segura,
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0 Entonces como si se da lo que hago es
3. Trabajo = Trabajo + Asignacin P2 6 0 0 < 7 4 5 asignarle los recursos que necesita el P1

Fin = True P3 0 1 1 < 5 3 2


4. Si Fin = True para todos los procesos, el sistema esta en P4 4 3 1 < 7 4 3
estado seguro. Trabajo = Trabajo(Disponible) + Asignacin

Disponible Asignacin Trabajo


Secuencia segura
P1 P3 P4 P2 Procesos A B C A B C A B C

P1 3 3 2 + 2 0 0 = 5 3 2 T
P2 7 4 5 + 3 0 2 = 10 4 7 T
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 7 4 3 + 0 0 2 = 7 4 5 T
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente. Necesidad < Trabajo
Asignar los valores iniciales
Trabajo = Disponible Necesida
Disponible
Fin = False d
2. Busca una i tal que Procesos A B C A B C
a) Fin = false PO 7 4 3 < 10 4 7
b)Necesidad < Trabajo P1 0 2 0 < 2 3 0
3. Trabajo = Trabajo + Asignacin P2 6 0 0 < 7 4 5
Si, Ah si empiezo mi secuencia segura,
Fin = True P3 0 1 1 < 5 3 2 Entonces como si se da lo que hago es
4. Si Fin = True para todos los procesos, el sistema esta en P4 4 3 1 < 7 4 3 asignarle los recursos que necesita el P1
estado seguro. Trabajo = Trabajo(Disponible) + Asignacin

Disponible Asignacin Trabajo FIN


Secuencia segura
P1 P3 P4 P2 P0 Procesos A B C A B C A B C
P0 10 4 7 + 0 1 0 10 5 7 T
P1 2 3 0 + 3 0 2 = 5 3 2 T
P2 7 4 5 + 3 0 2 = 10 4 7 T
P3 5 3 2 + 2 1 1 = 7 4 3 T
P4 7 4 3 + 0 0 2 = 7 4 5 T
1. Sean Trabajo y Fin vectores con longitud m y n,
respectivamente.
Asignar los valores iniciales
Trabajo = Disponible
Fin = False Disponible Asignacin Trabajo FIN
2. Busca una i tal que Procesos A B C A B C A B C T
a) Fin = false P0 10 4 7 + 0 1 0 10 5 7 T
b)Necesidad < Trabajo P1 2 3 0 + 3 0 2 = 5 3 2 T
3. Trabajo = Trabajo + Asignacin P2 7 4 5 + 3 0 2 = 10 4 7 T
P3 5 3 2 + 2 1 1 = 7 4 3 T
Fin = True
P4 7 4 3 + 0 0 2 = 7 4 5 T
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

Secuencia segura (P1, P3, P4, P2, P0)


P1 P3 P4 P2 P0 Esta es mi secuencia segura, tenemos que respetar un
orden para que se ejecuten los procesos.
Problema Propuesto
Ejemplo: Ilustrativo
Considere la siguiente instantnea de un sistema:
n = # procesos Asignacin Mx. Disponible

m = # tipo de recursos Procesos A B C D


A B C D A B C D
Formula n x m P0 0 0 1 2 1 5 2 0
0 0 1 2
Matriz de 5 x 4 P1 1 0 0 0 1 7 5 0
5 Filas, 4 columnas P2 1 3 5 4 2 3 5 6
P3 0 6 3 2 0 6 5 2
P4 0 0 1 4 0 6 5 6
Responda a las siguientes preguntas usando
el algoritmo de banquero:
Necesidad = Max. - Asignacin
a) Cul es el contenido de la matriz de
Necesidad?
Mx. Asignacin Necesidad
b) Se encuentra el sistema en un estado
seguro? Procesos A B C D A B C D A B C D
P0 = 0 0 1 2 - 0 0 1 2 = 0 0 0 0
c) Si el proceso P1 emite una solicitud de
P1
valor(0, 4, 2, 0), Puede concederse
inmediatamente dicha solicitud? P2 =
P3 =
P4 =
Ejemplo: Ilustrativo
Considere la siguiente instantnea de un sistema:
Necesidad Asignacin Mx. Disponible

Procesos A B C D
A B C D A B C D
A B C D
P0 0 0 1 2 1 5 2 0
0 0 0 0 0 0 1 2
0 7 5 0 P1 1 0 0 0 1 7 5 0
1 0 0 2 P2 1 3 5 4 2 3 5 6
0 0 2 0 P3 0 6 3 2 0 6 5 2
0 6 4 2 P4 0 0 1 4 0 6 5 6

Secuencia segura
Disponible. Asignacin trabajo Fin P P P P P
+
Procesos A B C D + A B C D A B C D
P0 = =
P1
P2 =
P3 =
P4 =

Вам также может понравиться