Interbloqueo o Bloqueo
Sistemas Operativos |
Profe.: Jaime Pérez-López Moreno |
Omar de Eako Santibáez Esquivel |
07/10/2011 |
|
Índice
Recursos 3
Interbloqueo 3
Modelado del Sistema 3
Estrategias para el manejo de bloqueos 5
Prevención de interbloqueo 5
Predicción de interbloqueo 6
Detección de interbloqueo 7Recuperación después de un interbloqueo 7
Evitar interbloqueo 7
Algoritmo del Avestruz 7
Estados Seguros e Inseguros 8
Algoritmo del Banquero 8
Referencias 9
Recursos
Tipos de recursos
* Expropiables: se le puede quitar a quien lo tiene sin causarle algún daño.
* No Expropiables: no se puede quitar a su dueño sin hacer que su cómputofalle.
Interbloqueos
Interbloqueo también conocido como bloqueo mutuo, traba mortal, deadlock, abrazo mortal; es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente que compiten por recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para elcaso general para los interbloqueos.
Todos los interbloqueos surgen de necesidades que no pueden ser satisfechas, por parte de dos o más procesos. En la vida real, un ejemplo puede ser el de dos niños que intentan jugar al arco y flecha, uno toma el arco, el otro la flecha. Ninguno puede jugar hasta que alguno libere lo que tomó.
Modelado del Sistema
Los procesos solicitan recursos alsistema y los liberan cuando ya no los necesitan. Un recurso puede estar disponible o bien asignado a algún proceso.
Esquema de funcionamiento normal
1. Solicitud.- Si la solicitud no puede ser atendida, entonces el proceso debe esperar.
2. Uso.- El proceso debe operar sobre el recurso
3. Liberación.- El proceso debe liberar el recurso.
Características
Deben darse trescondiciones para que pueda producirse un interbloqueo:
1. Exclusión mutua: Cada recurso está asignado a un único proceso o está disponible.
2. Retención y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos.
3. No apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso quelos posee debe liberarlos en forma explícita.
4. Espera circular: Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena.
Las tres primeras condiciones son necesarias, pero no suficientes, para que exista interbloqueo. La cuarta condición es una consecuencia potencial de las tres primeras, es decir,puede ocurrir una secuencia de eventos que desemboque en un círculo vicioso de espera irresoluble. El círculo de espera de la condición 4 es irresoluble porque se mantienen las tres primeras condiciones. Las cuatro condiciones en conjunto constituyen una condición necesaria y suficiente para el interbloqueo.
Ejemplo de cómo ocurren los bloqueos.
Estrategias para el manejo de Bloqueos1. Ignorar el problema.
2. Dejar que sucedan, detectarlos y recuperarse de ellos.
3. Evitación dinámica con una asignación cuidadosa de recursos.
4. Prevenirlos, anulando de forma estructural una de las 4 condiciones necesarias para que haya un interbloqueo.
Prevención de Interbloqueo
Métodos para prevenir el interbloqueo:
1. Los métodos indirectos que consisten en impedirla aparición de alguna de las tres condiciones necesarias para que se del interbloqueo.
2. Los métodos directos que consisten en evitar la aparición del círculo vicioso de espera.
Con predicción del interbloqueo, se decide dinámicamente si la petición actual de asignación de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción del interbloqueo...
Regístrate para leer el documento completo.