0% encontró este documento útil (0 votos)
46 vistas17 páginas

4 Interbloqueos

Cargado por

Alejo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODP, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas17 páginas

4 Interbloqueos

Cargado por

Alejo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como ODP, PDF, TXT o lee en línea desde Scribd

Interbloqueos

Clean & simple

Sistemas Operativos
2° año Ing. en Sistemas de Información
Universidad Tecnológica Nacional Facultad Regional Villa
María
Agenda

• Introducción Interbloqueos
• Recursos
• Algoritmo de avestruz.
• Detección, recuperación
• Evasión
• Prevención
Recursos

• Recurso: Adquirir, utilizar y liberar a lo largo del tiempo

• Apropiativos: ej. Memoria ram

• No apropiativos: Grabadora de Cd.

– Secuecia de eventos


Solicitud


Utilización


Liberación

• Bloqueo vs inactividad
Adquisición de recursos

• Semáros o mutexes asociados al recurso

• Adquisión de manera secuencial

• Abrazo Mortal: cada uno de los procesos involucrados se bloquea hasta

conseguir el recurso que tiene el otro proceso.


Interbloqueos

• Definición:

„Un conjunto de procesos está en un abrazo mortal cuando todos los procesos en ese

conjunto están esperando un evento que sólo puede ser causado por otro proceso en el

conjunto. „

Ninguno se puede:

Ejecutar

Liberar recursos

Ser despertado
Interbloqueos

• Condiciones para los interbloqueos

1- Exclusión mutua (Un recurso se asigna a un solo proceso en un Tiempo o está libre)

2- Contención y espera. (Si un proceso tiene un recurso puede solicitar otro)

3- No apropiativa. (No se puede quitar por la fuerza un recurso, se deben liberar)

4- Espera circular. (Debe haber una cadena circular donde cada uno espera por el recurso del
otro).
Interbloqueos

• Modelado de Interbloqueos
Interbloqueos
Interbloqueos
Interbloqueos
Algoritmo de la avestruz

• Los interbloqueos ocurren rara vez, hacer de

cuenta que no pasa nada


Detección de Interbloqueo

• Detección de interbloqueos con un recurso de cada tipo


• 1 o mas ciclos → interbloqueo por los nodos que pertencen al ciclo

• Ejemplo de un sistema – deadlocked?


• Proceso A tiene R, quiere S
• Proceso B tiene nada, quiere T
• Proceso C tiene nada, quiere S
• Proceso D tiene U, quiere S y T
• Proceso E tiene T, quiere V
• Proceso F tiene W, quiere S
• Proceso G tiene V, quiere U
Detección de Interbloqueo

• Se utilizan algoritmos conocidos para la detección de ciclos en un grafo


• Se toma cada nodo como raiz y se baja en profundidad, si vuelvo a pasar por alguno hay ciclo.
Recuperación de Interbloqueo

• Recuperación por medio de la apropiación


– En algunos casos Manual. Ej. Procesamiento por lotes Impresora
– Casi imposible recuperarse

• Recuperación a través del retroceso


– Puntos de comprobación periódicas.

• Recuperación a través de la eliminación de procesos


– Se puede borrar un proceso que no este en interbloqueo pero que libere un
recurso en particular
– Cuidado con el proceso que se elije para eliminar. Ej. Compilación, registro BD
Cómo evitar Interbloqueos

• Intentar no asignar todos los recursos a la vez, que se soliciten en orden de


acuerdo a la demanda de los demas.
• Otorgar el recurso cuando sea seguro y no genere interbloqueo

Trayectoria de los recuros


Cómo evitar Interbloqueos

• Estados inseguros
Cómo prevenir Interbloqueos

• 4 Condiciones de Coffman

– Atacar la condición de exclusión mutua



Ej, Demonio de impresión

– Atacar la condición de contención y espera



Reservar los recursos a priori? No es eficeinte y no se conocen de antemano todos
los recursos que necesita el proceso.

– Atacar la condición no apropiativa



Virtualizar recursos. Ej demonio de impresión

– Atacar la condición de espera circular



Utiliza solo uno en un momento o hace la lista de requerimientos

También podría gustarte