Sunteți pe pagina 1din 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
Puede ser solicitado por otro proceso
Hasta que este sea liberado

ESFERA CIRCULAR.- Porque estn


Esperando que los procesos liberen
Los recursos

EJEMPLOS

ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS


SEGURO

R1

R3

P2

P1

R2

P3

ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS


INSEGURO

R1

R3

P2

P1

R2

P3

ESTADO DE GRAFO DE ASIGNACIN DE RECURSOS


BLOQUEO
R1

R3

P2

P1

R2

P3

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
Mx.

Matriz Mximo.
Son las exigencias
mximas de recursospara
cada proceso, ejemplo:
Matriz Necesidad.

Es lo que va a necesitar en ese proceso


para lograr lo mximo, por ejemplo :

Procesos
P0
P1
P2
P3
P4

=
=

Son las asignaciones


actuales de recursos
para cada proceso,
ejemplo:

Disponible.

Formula para obtener la necesidad es:


Necesidad = Mx. Asignacin
Mx.

Asignacin

Necesidad

Disponible

Vector que indica la


cantidad total de recursos
sin asignar a los procesos.

Estado seguro.Es un estado en el que


existe al menos un orden en el que todos
los procesos pueden ejecutar hasta el
final sin generar interbloqueo.

=
=

Asignacin

Matriz asignacin.

Secuencia segura
P1

P3

P0

P2

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

P0

P1

P2

Formula n x m

P3

Matriz de 5 x 3

P4

n = # procesos
m = # tipo de recursos

5 Filas, 3 columnas

Necesidad = Max. - Asignacin


Mx.
Procesos
P0
P1
P2
P3
P4

=
=
=
=
=

Asignacin

Necesidad

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

P0

P1

m = # tipo de recursos

P2

Formula n x m

P3

Matriz de 5 x 3

P4

n = # procesos

5 Filas, 3 columnas

Necesidad = Max. - Asignacin


Mx.
Procesos
P0
P1
P2
P3
P4

=
=
=
=
=

7
3

5
2

3
2

Asignacin

Necesidad

0
2

1
0

0
0

7
1

4
2

3
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
Asignacin

Mx.

Disponible

Procesos

P0

P1

m = # tipo de recursos

P2

Formula n x m

P3

Matriz de 5 x 3

P4

n = # procesos

5 Filas, 3 columnas

Necesidad = Max. - Asignacin


Mx.
Procesos
P0
P1
P2
P3
P4

=
=
=
=
=

7
3
9

5
2
0

3
2
2

Asignacin

Necesidad

0
2
3

1
0
0

0
0
2

7
1
6

4
2
0

3
2
0

=
=
=

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

P0

P1

P2

Formula n x m

P3

Matriz de 5 x 3

P4

n = # procesos
m = # tipo de recursos

5 Filas, 3 columnas

Necesidad = Max. - Asignacin


Mx.
Procesos

Asignacin

Necesidad

P0

P1

P2

P3

1
6
0

2
0
1

2
0
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

P0

P1

m = # tipo de recursos

P2

Formula n x m

P3

Matriz de 5 x 3

P4

n = # procesos

5 Filas, 3 columnas

Necesidad = Max. - Asignacin


Mx.
Procesos

Asignacin

Necesidad

P0

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

Necesidad < Trabajo

1. Sean Trabajo y Fin vectores con


longitud m y n, respectivamente.
Asignar los valores iniciales
Trabajo = Disponible
Fin = False

Necesidad
Procesos

P0

Disponible

<

No, entonces con este no


puedo empezar la
secuencia segura.

2. Busca una i tal que


a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
Disponible

ir al paso 2
4. Si Fin = True para todos los procesos, el
sistema esta en estado seguro.

Procesos A B
P0

Asignacin

Trabajo

A B

B C

Fin

P1

F
F

P2

P3

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
Fin = False
2. Busca una i tal que

Necesidad
Procesos

P0

P1

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

Disponible
A

<

<

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

Asignacin

Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

Trabajo = Trabajo(Disponible) + Asignacin


Disponible

Secuencia segura
P1

Procesos A B

Asignacin

Trabajo

A B

B C

3 2

P0

P1

+ 2 0

P2

Fin

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
Fin = False
2. Busca una i tal que

Necesidad
Procesos

Disponible

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

<

P2

<

No, entonces con este no puedo


empezar la secuencia segura.

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

Fin = False
2. Busca una i tal que

Disponible

Procesos

P1

< 3

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

Disponible

Secuencia segura
P1

P3

Asignacin

P3
0 1 1 < 5 3 2
Trabajo = Trabajo(Disponible) + Asignacin

Procesos A B

Asignacin

Trabajo

Fin

A B

P0

P1

3 3

+ 2 0

= 5

P2

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

Necesida
d

Disponible

Procesos

B C

P1

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

<

Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
P4

Secuencia segura
P1

P3

Disponible

<

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

Asignacin

Asignacin

Trabajo

A B

B C

P1

3 3

+ 2 0

P2

P4

Procesos A B

Fin

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

Necesida
d

Disponible

Procesos

B C

P0

<

P1

<

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

Fin = True

Asignacin

ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
P4
4
Disponible

Secuencia segura
P1

P3

P4

P0

Procesos A B

3 1 < 7
Asignacin
A B

3
Trabajo
A

Fin

P0

7 4

5 + 0 1

0 = 7

5 5 T

P1

3 3

+ 2 0

= 5

P2

P3

5 3

2 + 2 1

1 = 7

4 3 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

Necesida
d

Disponible

Procesos

B C

P0

<

P1

<

P2

<

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

Secuencia segura
P3
P4
P0

P2

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

Asignacin

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
P4
4
Disponible
Procesos A B
P0
P1
P2
P3

7
3
7
5

4
3
5
3

P4

7 4

3 1 < 7
Asignacin

3
Trabajo

A B

5 + 0 1
2 + 2 0
5 + 3 0
2 + 2 1

0
0
2
1

= 7 5
= 5
3
= 10 5
= 7 4

5
2
7
3

+ 0 0

Fin

T
T
T
T

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.
Asignar los valores iniciales
Trabajo = Disponible

Disponible

Fin = False
2. Busca una i tal que

Procesos A B

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
ir al paso 2
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

Secuencia segura
P3
P4
P0

P2

Asignacin

Trabajo

A B

0
2
3
2

P0
P1
P2
P3

7
3
7
5

4
3
5
3

5
2
5
2

+
+
+
+

1
0
0
1

0
0
2
1

= 7
= 5
= 10
= 7

P4

7 4

+ 0 0

Fin

5
3
5
4

5
2
7
3

T
T
T
T

4 5 T

(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.

Procesos

Asignaci
n

P0

P1

P2

P3

P4

Mx.

Disponible

Necesidad

Disponible = Disponible - Solicitud


Disponible = Disponible
230

332

Solicitud

102

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.

Procesos

Asignaci
n

P0

P1

P2

P3

P4

Mx.

Disponible

Necesidad

Asignacin = Asignacin + Solicitud


Asignacin = Asignacin
302

200

Solicitud

102

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.

Procesos

Asignaci
n

P0

P1

P2

P3

P4

Mx.

Disponible

Necesidad

Necesidad = Necesidad - Solicitud


Necesidad = Necesidad
020

122

Solicitud

102

La Nueva matriz es :

Asignacin

Necesidad

Disponible

Procesos

P0

P1

P2

P3

P4

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


respectivamente.
Asignar los valores iniciales
Trabajo = Disponible

Necesidad < Trabajo

Fin = False
2. Busca una i tal que

Necesida
d

Disponible

Procesos

B C

P0

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

<

No, entonces con este no puedo


empezar la secuencia segura.

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales

Necesida
d

Disponible

Procesos

B C

P0

<

P1

<

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

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

Trabajo = Trabajo(Disponible) + Asignacin


Disponible

Secuencia segura
P1

Procesos A B

Asignacin

Trabajo

A B

P0

P1

2 3

+ 3 0

= 5

2 T

P2

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales


Trabajo = Disponible
Fin = False
2. Busca una i tal que

Procesos

Necesida
d

Disponible

B C

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

<

P2

<

No, entonces con este no puedo


empezar la secuencia segura.

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales

Necesida
d

Disponible

Procesos

B C

P1

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

<

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

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

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
Disponible

Secuencia segura
P1

P3

Asignacin

FIN

Trabajo

Procesos

P0

P1

P2

P3

+ 2

=
=

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales

Necesida
d

Disponible

Procesos

B C

P1

Trabajo = Disponible
Fin = False
2. Busca una i tal que

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin

<

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

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
P4
4 3 1 < 7
Disponible Asignacin

Secuencia segura
P1

P3

P4

Procesos A B

4 3
Trabajo

A B

P1

2 3

+ 3 0

= 5

2 T

P2

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales


Trabajo = Disponible
Fin = False

Procesos

2. Busca una i tal que

Necesida
d

Disponible

B C

a) Fin = false

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

b)Necesidad < Trabajo


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

P3

P4

P2

<

P2

<

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo
P4
4 3 1 < 7
Disponible Asignacin

Secuencia segura
P1

P1

Procesos A B
P1
P2
P3
P4

3
7
5
7

3
4
3
4

C
2
5
2
3

A B
+ 2
+ 3
+ 2
+ 0

0
0
1
0

4 3
Trabajo
A

0 = 5
2 = 10
1 = 7
2 = 7

3
4
4
4

2
7
3
5

T
T
T
T

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


respectivamente.

Necesidad < Trabajo

Asignar los valores iniciales

Necesida
d

Disponible

Procesos

B C

PO

P1

P2

Trabajo = Disponible
Fin = False
2. Busca una i tal que
a) Fin = false
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

Secuencia segura
P3
P4
P2

P0

< 10 4

<

<

Si, Ah si empiezo mi secuencia segura,


Entonces como si se da lo que hago es
asignarle los recursos que necesita el P1

P3= Trabajo(Disponible)
0 1 1 < +5Asignacin
3 2
Trabajo

Procesos

P4
4
Disponible

3 1 < 7
Asignacin

3
Trabajo

FI
N

P0

10 4

+ 0 1

10

P1
P2
P3
P4

2 3
7 4
5 3
7 4

0 + 3 0
5 + 3 0
2 + 2 1
3 + 0 0

2
2
1
2

5
10
7
7

3
4
4
4

2
7
3
5

T
T
T
T

=
=
=
=

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


respectivamente.
Asignar los valores iniciales
Trabajo = Disponible
Fin = False
2. Busca una i tal que
b)Necesidad < Trabajo
3. Trabajo = Trabajo + Asignacin
Fin = True
4. Si Fin = True para todos los procesos, el sistema esta en
estado seguro.

P1

Secuencia segura
P3
P4
P2

P0

Asignacin

FI
N

Trabajo

P0

10 4

+ 0 1

10

P1
P2
P3
P4

2 3
7 4
5 3
7 4

0 + 3 0
5 + 3 0
2 + 2 1
3 + 0 0

2
2
1
2

5
10
7
7

3
4
4
4

2
7
3
5

T
T
T
T

Procesos

a) Fin = false

Disponible

=
=
=
=

(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:
Asignacin

n = # procesos

Mx.

Disponible

m = # tipo de recursos

Procesos

Formula n x m

P0

Matriz de 5 x 4

P1

5 Filas, 4 columnas

P2

P3

P4

Responda a las siguientes preguntas usando


el algoritmo de banquero:

c) Si el proceso P1 emite una solicitud de


valor(0, 4, 2, 0), Puede concederse
inmediatamente dicha solicitud?

Necesidad = Max. - Asignacin

a) Cul es el contenido de la matriz de


Necesidad?
b) Se encuentra el sistema en un estado
seguro?

Mx.

Procesos
P0

P1
P2

P3

P4

Necesidad

Asignacin

Ejemplo: Ilustrativo
Considere la siguiente instantnea de un sistema:
Asignacin

Necesidad

Disponible

Procesos

P0

P1

P2

P3

P4

Disponible.

Procesos
P0

Mx.

P1
P2

P3

P4

trabajo

Asignacin

A
=

Fin

Secuencia segura
P
P
P

S-ar putea să vă placă și