tema 5 - hosting miarroba · a esta situación se la denomina interbloqueo, deadlock o bloqueo...

25
E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 1 Última modificación 07/03/20 Tema 5 El Interbloqueo 5.1. Introducción 5.2. Condiciones para que se produzca 5.3. Métodos para el tratamiento 5.3.1. Prevención 5.3.2. Evitación 5.3.3. Detección y recuperación 5.3.4. Estrategias combinadas

Upload: others

Post on 13-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 1

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Tema 5El Interbloqueo

5.1. Introducción

5.2. Condiciones para que se produzca

5.3. Métodos para el tratamiento

5.3.1. Prevención

5.3.2. Evitación

5.3.3. Detección y recuperación

5.3.4. Estrategias combinadas

Page 2: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 2

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Introducción● Una de las principales tareas del SO es la

administración de recursos

● Muchos recursos no pueden ser utilizados simultáneamente por más de un proceso. Ej: Impresora, CPU, Tarjeta de sonido, etc.

● Es necesario que el SO disponga de un mecanismo que permita acceder de forma exclusiva a un recurso

Page 3: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 3

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Introducción

● Cuando los procesos utilizan varios recursos en exclusividad puede darse la situación de que un proceso espere recursos que tiene reservado otro proceso y viceversa

● A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo.

Page 4: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 4

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Introducción

● Se puede definir una situación de interbloqueo como:

Un conjunto de procesos se encuentra en estado de interbloqueo cuando cada uno de ellos espera un suceso que sólo puede originar otro proceso del mismo conjunto

Page 5: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 5

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Condiciones para que se produzca interbloque

● Exclusión mútua

● Retención y espera

● No expropiación

● Espera circular

Page 6: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 6

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Métodos para el tratamiento del interbloqueo

● Ignorar el problema (estrategia del avestruz)

● Prevención

● Evitación

● Detección y recuperación

● Estrategias combinadas

Page 7: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 7

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Prevención del interbloqueo

● Este método previene el interbloqueo eliminando una de sus cuatro causas

● Exclusión mútua– No siempre es posible

– En algunos recursos se puede conseguir utilizando spooling y demonios.

Page 8: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 8

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Prevención del interbloqueo

● Retención y espera– Se puede eliminar haciendo que los procesos

liberen los recursos que tienen cuando realizan una solicitud de un recurso no disponible

– Dos estrategias:1.Los recursos de solicitan al comienzo de la ejecución

2.Los recursos se solicitan de forma incremental pero son liberados cuando se deniega una solicitud

Page 9: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 9

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Prevención del interbloqueo

● No expropiación– Se puede eliminar permitiendo la expropiación

– El SO debe ser capaz de restaurar el estado de los recursos

– Se adecúa muy bien a cierto tipo de recursos como CPU y memoria.

Page 10: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 10

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Prevención del interbloqueo

● Espera circular– Se elimina ordenando los recursos

– Los recursos sólo pueden ser solicitados en el orden establecido

– No aprovecha adecuadamente los recursos

Page 11: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 11

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Evitación del interbloqueo

● Las peticiones de recursos sólo se conceden si se garantiza que no conducirán a un interbloqueo

● Dos inconvenientes:– Desaprovechamiento de los recursos

– Mayor coste computacional al evaluar las peticiones de recursos

Page 12: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 12

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Evitación del interbloqueo

● Un algoritmo analiza cada petición de recursos antes de su concesión para comprobar que no llevará a un estado de interbloqueo

● Estos algoritmos se basan en el concepto de estado seguro

Un estado es seguro si el sistema puede asignar recursos a cada proceso hasta alcanzar el máximo de sus necesidades siguiendo algún orden arbitrario y aun así evitar el interbloqueo

Page 13: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 13

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Evitación del interbloqueo

● Existen diferentes modelos para determinar si un estado es inseguro. Dos de ellos son:– Trayectoria de recursos. Utiliza una

representación gráfica de la evolución del sistema

– Algoritmo del banquero. Algoritmo desarrollado por Dijkstra

Page 14: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 14

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Trayectoria de recursos

P2

Impresora

Plotter

P1Impresora

Plotter

Región insegura

Page 15: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 15

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Algoritmo del banquero

● Este algoritmo se ejecutará cada vez que un proceso solicite un recurso y decidirá si la petición se concede (no conduce a un estado inseguro)

● Datos de entrada:– Solicitud: ARRAY [1..m] DE NATURAL;

Representa el número de unidades de cada recurso solicitadas (m es el número de tipos de recursos diferentes en el sistema).

Page 16: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 16

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Algoritmo del banquero● Datos internos:

– Disponible: ARRAY [1..m] DE NATURAL; Número de recursos disponibles de cada tipo

– Maximo: ARRAY [1..n][1..m] DE NATURAL; Matriz que indica la cantidad máxima de cada recurso que puede necesitar un proceso (n es el número de procesos)

– Asignacion: ARRAY [1..n][1..m] DE NATURAL; Matriz que indica la cantidad de cada recurso asignados a cada proceso

– Necesidad: ARRAY [1..n][1..m] DE NATURAL;Necesidad = Maximo ­ Asignacion

Page 17: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 17

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Algoritmo del banquero

1. SI ∃i, Solicitud[i] ≥ Necesidad[p][i] ENTONCES denegar solicitud// El proceso ha excedido su demanda máxima

2. SI ∃i, Solicitud[i] > Disponible[i] ENTONCES denegar solicitud// No hay recursos suficientes

3. Calcular nuevo estado:

1. Disponible’[i] := Disponible[i] - Solicitud[i], para 1≤i≤m

2. Asignacion’[p][i] := Asignacion[p][i] + Solicitud[i], para 1≤i≤m// p es el identificador del proceso que realiza la rerserva

3. Necesidad’[p][i] := Necesidad[p][i] - Solicitud[i], para 1≤i≤m

4. SI estadoSeguro( Disponible’, Asignacion’, Necesidad’) ENTONCES aceptar solicitud de recursos, EN OTRO CASO denegar la solicitud

Page 18: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 18

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Algoritmo estadoSeguro

• VariablesTrabajo: ARRAY [1..m] DE NATURAL;Fin: ARRAY [1..n] DE LOGICO;

• Algoritmo1. Fin[i] := FALSO, para 1≤i≤n

2. Trabajo[i] := Disponible[i], para 1≤i≤m

3. MIENTRAS ∃p, ¬Fin[p] ∧ (∀i, Necesidad[p][i] ≤ Trabajo[i])

4. Trabajo[i] := Trabajo[i] + Asignacion[p][i], para 1≤i≤m

5. Fin[p] := CIERTO

6. SI ∀i, Fin[i] ENTONCES el estado es seguro, EN OTRO CASO el estado es inseguro

Page 19: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 19

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Detección y Recuperación

● Esta estrategia de tratamiento del interbloqueo se basa en dejar que este ocurra, detectarlo y realizar un proceso de recuperación del interbloqueo

● Para el proceso de detección se utiliza el algoritmo estadoSeguro

Page 20: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 20

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Detección y Recuperación

● Dos aspectos fundamentales para la aplicación de esta estrategia:

1. Con que frecuencia se utiliza el algoritmo de detección de interbloqueo

2. Como se recupera el interbloqueo

Page 21: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 21

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Detección del interbloqueo

● El algoritmo de detección puede utilizarse cada vez que se solicita un recurso o de forma periódica

● Si se ejecuta con mucha frecuencia implica con consumo excesivo de computo

● Si se ejecuta con poca frecuencia se desaprovechan recursos bloqueados por los procesos en interbloqueo

Page 22: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 22

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Recuperación del interbloqueo

● Aviso al operador● Terminación de procesos. Alternativas:

– Abortar todos los procesos interbloqueados– Abortar los procesos de uno en uno hasta que

desaparezca el interbloqueo

● Expropiación de recursos. Problemas:– Selección de la víctima– Retroceso– Postergación indefinida

Page 23: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 23

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Terminación de procesos

● Factores que influyen en la elección del proceso a eliminar:– Prioridad

– Tiempo de ejecución consumido y previsto

– Recursos usados y tipo

– Necesidades futuras de recursos

– Número de procesos

– Tipo de procesos

Page 24: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 24

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Estrategias combinadas

● Basa su funcionamiento en utilizar la mejor estrategia de tratamiento de interbloqueo para cada recurso en función de las características del recurso

● Los recursos se agrupan en 4 categorías dependiendo se sus características

Page 25: Tema 5 - Hosting Miarroba · A esta situación se la denomina interbloqueo, deadlock o bloqueo mútuo. E.T.S.I. Telecomunicaciones José Luis Triviño Rodriguez 4

E.T.S.I. TelecomunicacionesJosé Luis Triviño Rodriguez 25

Últi

ma

mo

dific

ació

n 0

7/0

3/2

0

Categorías de recursos

● Recursos internos (recursos del sistema, ej. tablas de procesos). Prevención mediante ordenación de recursos

● Memoria principal y CPU. Prevención mediante expropiación

● Recursos usados por los procesos. Evitación, prevención mediante ordenación de recursos. prevención de la exclusión mutua mediante spooling.

● Espacio de intercambio. Prevención mediante adquisición anticipada