Proyecto integrador. Las TIC en la sociedad S4.pptx
Interbloqueo
1. Interbloqueo
El estancamiento se puede definir formalmente como
sigue: "Un conjunto de procesos se estancan si cada proceso del
conjunto está esperando un evento que solo otro proceso del
conjunto puede provocar". Puesto que todos los procesos
están en espera, ninguno de ellos podrá ocasionar nuca
ninguno de los eventos que podrían desbloquear a
algunos de los otros miembros del conjunto y todos los
procesos seguirán esperando indefinidamente.
2. Definición de Abrazo Mortal
Un conjunto de procesos está en un abrazo mortal cuando todos
los procesos en ese conjunto están esperando un evento que solo
puede ser causado por otro proceso en el conjunto. Los eventos a
los cuales nos estamos refiriendo son concernientes con la
asignación y liberación de recursos principalmente. Sin embargo,
otro tipo de eventos pueden llevar a la existencia de abrazos
mortales.
3. Para ejemplificar un estado de abrazo mortal, considere un sistema con tres unidades de disco.
Suponga que existen tres procesos, cada uno de ellos tiene asignada una de las unidades de
disco.
Los abrazos mortales pueden también involucrar diferentes tipos de recursos. Por ejemplo,
considere un sistema con una impresora y una unidad de disco. Suponga que el proceso A tiene
asignada la unidad de disco y que el proceso B tiene asignada la impresora. Ahora, si A pide la
impresora y B pide la unidad de disco, ocurre un abrazo mortal.
4. En un abrazo mortal, los procesos nunca
terminan de ejecutarse y los recursos del
sistema esta amarrados, evitando que otros
procesos puedan siquiera empezar? Antes de
discutir varios métodos para manejar el
problema de los abrazos mortales, seria útil
describir algunas de las propiedades que los
caracterizan.
6. 1.-Exclusión Mutua. Cada recurso se asigna por lo regular exactamente a un
proceso o bien está disponible.
2.-Retener y Esperar. Los procesos que regularmente contienen recursos
otorgados antes pueden solicitar nuevos recursos.
3.-No existe el derecho de desasignar (No preemtion). Los recursos previamente
otorgados no pueden extraerse por la fuerza de un proceso. Deben ser liberados
explícitamente por el proceso que los contiene.
4.-Espera Circular . Debe haber una cadena de dos o más procesos, cada uno de
los cuales este esperando u recurso contenido en el siguiente miembro de la cadena.
Enfatizamos que las cuatro condiciones deben de cumplirse para que pueda ocurrir un abrazo
mortal. La condición de espera circular implica la condición de retener y esperar, de tal manera
que las cuatro condiciones no son totalmente independientes
Una forma de modelar estas condiciones es usando un grafo de recursos: los circulos representan
procesos, los cuadrados recursos. Una arista desde un recurso a un proceso indica que el recurso
ha sido asignado al proceso
7. Métodos para manejar los abrazos
mortales
Principalmente, existen dos métodos para
manejar el problema de los abrazos mortales.
Podemos usar algún protocolo para asegurar
que el sistema nunca entrara en un estado de
abrazo mortal. Alternativamente, podemos
permitir que el sistema entre en un estado de
abrazo mortal y después recuperarnos.