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

1. Concepto: Un conjunto de procesos que se encuentra en un interbloqueo si cada proceso en el conjunto está esperando un evento que sólo puede ser ocasionado por otro proceso en el conjunto.

1.1. Definicion: En otras palabras, cada miembro del conjunto de procesos en interbloqueo está esperando un recurso que posee un proceso en interbloqueo.

1.1.1. El número de procesos y el número de cualquier tipo de recursos poseídos y solicitados es irrelevante.

1.1.2. Ninguno de los procesos se puede ejecutar.

1.1.3. ninguno de ellos puede liberar recursos y ninguno puede ser despertado.

1.1.4. El número de procesos recursó que posee un proceso en interbloqueo.

2. Recursos

2.1. Definicion: Un recurso puede ser un dispositivo de hardware (por ejemplo, una unidad de cinta) o una pieza de información (como un registro bloqueado en una base de datos).

2.1.1. Conclusion: En resumen, un recurso es cualquier cosa que se debe adquirir, utilizar y liberar con el transcurso del tiempo.

2.2. Los Recursos Pueden ser de dos Tipos:

2.2.1. Apropiativos

2.2.1.1. Un recurso apropiativo es uno que se puede quitar al proceso que lo posee sin efectos dañinos. Los interbloqueos potenciales que pueden involucrar a los recursos apropiativos por lo general se pueden resolver mediante la reasignación de los recursos de un proceso a otro.

2.2.2. No apropiativos

2.2.2.1. Un recurso no apropiativo es uno que no se puede quitar a su propietario actual sin hacer que el cómputo falle. En general, los interbloqueos involucran a los recursos no apropiativos.

2.2.3. Secuencia de eventos requeridas:

2.2.3.1. 1. Solicitar el Recurso 2. Utilizarel Recurso 3. Liberar el Recurso

2.2.3.1.1. Si el recurso no está disponible cuando se le solicita, el proceso solicitante se ve obligado a esperar. En algunos sistemas operativos, el proceso se bloquea de manera automática cuando falla la solicitud de un recurso, y se despierta cuando el recurso está disponible. En otros sistemas, la solicitud falla con un código de error y depende del proceso que hizo la llamada decidir si va a esperar un poco e intentar de nuevo.

2.3. Adquisiscion de Recursos

2.3.1. Es cuando los procesos necesitan dos o más recursos y se adquiere uno después del otro. para ciertos tipos de recursos.

2.3.2. Uno de los procesos adquirirá el primer recurso antes del otro. Después ese proceso adquirirá con éxito el segundo recurso y realizará su trabajo. Si el otro proceso intenta adquirir el recurso 1 antes de que sea liberado, el otro proceso simplemente se bloqueará hasta que esté disponible.

2.4. Condiciones para los Interbloqueos de Recursos

2.4.1. 1. Condición de exclusión mutua. Cada recurso se asigna en un momento dado a sólo un proceso, o está disponible. 2. Condición de contención y espera. Los procesos que actualmente contienen recursos que se les otorgaron antes pueden solicitar nuevos recursos. 3. Condición no apropiativa. Los recursos otorgados previamente no se pueden quitar a un proceso por la fuerza. Deben ser liberados de manera explícita por el proceso que los contiene. 4. Condición de espera circular. 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.

2.4.1.1. Las cuatro condiciones deben estar presentes para que ocurra un interbloqueo. Si una de ellas está ausente, no es posible el interbloqueo de recursos. Vale la pena observar que cada condición se relaciona con una política que puede o no tener un sistema.

3. Definicion Modelado de interbloqueos

3.1. podemos comprender que además de solicitar y liberar recursos, los procesos realizan cálculos y operaciones de E/S. Cuando los procesos se ejecutan en forma secuencial, no hay posibilidad de que mientras un proceso espera la E/S, otro pueda utilizar la CPU. Por ende, ejecutar los procesos estrictamente en forma secuencial puede no ser óptimo. Por otra parte, si ninguno de los procesos realiza operaciones de E/S, es mejor el algoritmo del trabajo más corto primero que el algoritmo por turno rotatorio (round-robin), por lo que en ciertas circunstancias tal vez lo mejor sea ejecutar todos los procesos en forma secuencial.

3.2. en el punto a comprender es que los gráficos de recursos son una herramienta que nos permite ver si una secuencia de petición/liberación dada conduce al interbloqueo. Sólo llevamos a cabo las peticiones y liberaciones paso a paso, y después de cada paso comprobamos el gráfico para ver si contiene ciclos. De ser así, tenemos un interbloqueo; en caso contrario, no lo hay

3.2.1. En general, se utilizan cuatro estrategias para lidiar con los interbloqueos. 1) Sólo ignorar el problema. Tal vez si usted lo ignora, él lo ignorará a usted. 2) Detección y recuperación. Dejar que ocurran los interbloqueos, detectarlos y tomar acción. 3) Evitarlos en forma dinámica mediante la asignación cuidadosa de los recursos. 4) Prevención, al evitar estructuralmente una de las cuatro condiciones requeridas.

4. Detección y recuperación de un interbloqueo

4.1. Concepto: Cuando se utiliza esta técnica, el sistema no trata de evitar los interbloqueos. En vez de ello, intenta detectarlos cuando ocurran y luego realiza cierta acción para recuperarse después del hecho.

4.2. Detección de interbloqueo con un recurso de cada tipo

4.2.1. Existe un recurso de cada tipo. dicho sistema podría tener un escáner, un grabador de CD, un trazador (plotter) y una unidad de cinta, pero no más que un recurso de cada clase.

4.2.2. En resumen, la detección de interbloqueo con un recurso de cada tipo se puede lograr implementando algoritmos de detección de interbloqueo específicos para cada tipo de recurso, como el grafo de asignación de recursos para memoria y archivos, y el algoritmo del banquero para dispositivos de entrada/salida

5. Como Evitar interbloqueos

5.1. Una Definicion : para evitar interbloqueos se basan en el concepto de los estados seguros. Antes de describir los algoritmos, haremos una ligera digresión para analizar el concepto de la seguridad, en una forma gráfica y fácil de comprender.

6. Como prevenir interbloqueos

6.1. Como atacar la condición de exclusion mutua

6.1.1. Si ningún recurso se asignara de manera exclusiva a un solo proceso, nunca tendríamos interbloqueos. No obstante, es igual de claro que al permitir que dos procesos escriban en la impresora al mismo tiempo se producirá un caos.

6.2. Como atacar la condición de contención y en espera

6.2.1. Una forma de lograr esta meta es requerir que todos los procesos soliciten todos sus recursos antes de empezar su ejecución. Si todo está disponible, al proceso se le asignará lo que necesite y podrá ejecutarse hasta completarse. Si uno o más recursos están ocupados, no se asignará nada y el proceso sólo esperará. Un problema inmediato con este método es que muchos procesos no saben cuántos recursos necesitarán hasta que hayan empezado a ejecutarse.

6.3. Como atacar la condición no apropiativa

6.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. Sin embargo, ciertos recursos se pueden virtualizar para evitar esta situación.

6.4. Como atacar la espera de condición circular

6.4.1. La espera circular se puede eliminar de varias formas. Una de ellas es 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. Otra manera de evitar la espera circular es proporcionar una numeración global de todos los recursos