19
Bloqueo mutuo y estrategias (3) Dr. Alonso Ramírez Manzanares 26 y 28 de Nov-2010

Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Bloqueo mutuo y estrategias (3)

Dr. Alonso Ramírez Manzanares26 y 28 de Nov-2010

Page 2: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Menos unidades disponibles de las necesarias

Page 3: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Menos unidades disponibles de las necesarias Estados

Page 4: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Menos unidades disponibles de las necesarias Estados

Page 5: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Menos unidades disponibles de las necesarias Estados

Page 6: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Menos unidades disponibles de las necesarias Estados

Page 7: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Page 8: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Estados Seguro:Existe una secuencia de estados que conduce a una situacion donde todos los clientes obtiene su máximo

Page 9: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Estados Seguro:Existe una secuencia de estados que conduce a una situacion donde todos los clientes obtiene su máximo

Page 10: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Estados Seguro:Existe una secuencia de estados que conduce a una situacion donde todos los clientes obtiene su máximo

Page 11: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Page 12: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Estado inseguro:Si todos piden su máximo, tenemos un bloqueo mutuo!

Page 13: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

El algoritmo del banquero para un solo recurso:

Estado inseguro:Si todos piden su máximo, tenemos un bloqueo mutuo!

Page 14: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

En el algoritmo del banquero:

Un estado inseguro no necesariamente lleva a un bloque mutuo, pero no podemos arriesgarnos a que suceda.

Por lo tanto el algoritmo es:

Para cada peticion ver si conduce a un estado seguro.

Si si, se concede la petición, si no, se pospone.

Page 15: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

En el algoritmo del banquero, ¿Cómo se verifica que un estado es seguro?

Se verifica si se tienen sifucientes recursos para satisfacer al cliente que está mas cerca de su máximo (el que necesita menos dinero)

Si los tiene, se supone que ese préstamo ya fué pagado, y a continuación se verifica el cliente que ahora está mas cerca de su límite, y asi sucesivamente para todos.

Si todos los prestamos pueden cubrirse (tarde o temprano) es estado es seguro.

Page 16: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Trayectorias de recursosTenemos 2 proces A y B, con una secuencia de instrucciones Ii, compartiendo 2 recursos diferentes.

Page 17: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

En el algoritmo del banquero para N recursos con varias instancias del mismo recurso:

Se van guardando 2 matrices, por proceso se contabilizan recursos asignados y recursos que aún se van a necesitar:

E =ExistentesP = Poseidos

A = Disponibles

Page 18: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

Estrategias para evitar bloqueo mutuo

En el algoritmo del banquero para N recursos con varias instancias del mismo recurso. La verificación de ESTADO SEGURO es ahora:

1) Buscar una fila R en las peticiones cuyos requerimientos sean <= que el vector A en todas las entradas (Si no existe, el estado no es seguro). Si hay varios candidatos, tomar uno al azar.

2) Suponga que el proceso elegido solicita todos los recursos que necesita y termina. Marque ese proceso como terminado y agregue todos sus recursos al vector A.

3) Repita pasos 1 y 2 hasta que todos los procesos se marquen como terminados o bien no se pueda cumplir 1).

Page 19: Bloqueo mutuo y estrategias (3) - CIMATalram/SO/clase17.pdf · Estrategias para evitar bloqueo mutuo En el algoritmo del banquero para N recursos con varias instancias del mismo recurso

ProblemasEn la práctica no sabemos a priori que recursos (máximos) require cada proceso.

El número de procesos y el número de recursos varía dinámicamente en el tiempo.

Para aplcaciones específicas, hay algoritmos excelentes, por ejemplo en bases de datos, donde se usan candados para asegurar todos los registros, uno por uno, y si no se logra, se liberan todos los anteriores y se comienza de nuevo.