Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Interbloqueos por Mind Map: Interbloqueos

1. Un conjunto de procesos se encuentran en un interbloqueo si cada proceso en el conjunto está esperando un evento que solo puede ser ocasionado por otro proceso en el conjunto

1.1. Condiciones Para los Interbloqueos de Recusos

1.1.1. Condicion de exclusion mutua

1.1.1.1. Cada recurso se asigna en un momento dado a sólo un proceso, o está disponible

1.1.2. Condicion de contención y espera

1.1.2.1. Los procesos actualmente contienen recursos que se les otorgaron antes pueden solicitar nuevos recursos

1.1.3. Condición no apropiativa

1.1.3.1. Los recursos otorgados previamente no se pueden quitar a un proceso por la fuerza. Deber ser liberados de manera explícita por el proceso que los contiene

1.1.4. Condición de espera circular

1.1.4.1. Debe haber una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso contenido por el siguiente miembro de la cadena

1.2. Detección Recuperación de un Interbloqueo

1.2.1. Una segunda técnica es la detección y recuperación. Cuando se utiliza esta técnica, el sistema no trata de evitar los interbloqueos.

1.3. Cómo Evitar Interbloqueos

1.3.1. Trayectoria de los recursos

1.3.1.1. Los principales algoritmos para evitar interbloqueos se basan en el concepto de los estados seguros

1.3.2. Estados seguros e Inseguros

1.3.2.1. En cualquier instante hay un estado actual que consiste en E, A, C y R. Se dice que un estado es seguro si hay cierto orden de programación en el que se puede ejecutar cada proceso hasta completarse, incluso aunque todos ellos solicitaran de manera repentina su número máximo de recursos de inmediato

1.4. ¿Cómo Prevenir Interbloqueos?

1.4.1. Como Atacar la Condición de Contención y Espera

1.4.1.1. La segunda condición establecida por Coffman y colaboradores se ve un poco más prometedora. Si podemos evitar que los procesos que contienen recursos esperen por más recursos, podemos eliminar los interbloqueos.

1.4.2. Como Atacar la Condición de Exclusión Mutua

1.4.2.1. Primero vamos a atacar la condición de exclusión mutua. Si ningún recurso se asignara de manera exclusiva a un solo proceso, nunca tendríamos interbloqueos

1.4.3. Como Atacar la Condición no Apropiativa

1.4.3.1. También es posible atacar la tercera condición (no apropiativa). Si a un proceso se le ha asignado la impresora y está a la mitad de imprimir su salida, quitarle la impresora a la fuerza debido a que el trazador que necesita no está disponible es algo engañoso como máximo, e imposible en el peor caso.

1.4.4. Como Atacar la Condición de Espera Circular

1.4.4.1. La espera circular se puede eliminar de varias formas. Una de ellas se simplemente tener una regla que diga que un proceso tiene derecho sólo a un recurso en cualquier momento. Si necesita un segundo recurso, debe liberar el primero. Para un proceso que necesita copiar un enorme archivo de una cinta a una impresora, esta restricción es inaceptable.

1.5. Otras Cuestiones

1.5.1. Bloqueo de Dos Fases

1.5.1.1. En ciertas versiones del bloqueo de dos fases, no hay liberación y reincio si se encuentran un registro bloqueado durante la primera fase. En estas versiones puede ocurrir un interbloqueo

1.5.2. Interbloqueos de Comunicaciones

1.5.2.1. Hasta ahora, todo nuestro trabajo se ha concentrado en los interbloqueos de recursos. Un Proceso desea algo que otro proceso tiene, y debe esperar a que el primero lo libere