Interbloqueos

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

1. Modelado de interbloqueos

1.1. Holt (1972) mostró cómo se pueden modelar estas cuatro condiciones mediante el uso de gráficos dirigidos. Los gráficos tienen dos tipos de nodos: procesos, que se muestran como círculos, y recursos, que se muestran como cuadros. Un arco dirigido de un nodo de recurso (cuadro) a un nodo de proceso (círculo) significa que el recurso fue solicitado previamente por, y asignado a, y actualmente es contenido por ese proceso

2. Historia

2.1. Bibliografia

2.1.1. 1979; Newton

2.1.2. 1983; Zobel

3. Recursos

3.1. Una clase principal de interbloqueos involucra a los recursos, los interbloqueos pueden ocurrir cuando a los procesos se les otorga acceso exclusivo a los dispositivos, registros de datos, archivos, etcétera.

3.1.1. Los interbloqueos pueden ocurrir en una variedad de situaciones, además de solicitar dispositivos de E/S dedicados.

3.1.2. Un recurso apropiativo es uno que se puede quitar al proceso que lo posee sin efectos dañinos.

3.1.3. Un recurso no apropiativo es uno que no se puede quitar a su propietario actual sin hacer que el cómputo falle.

4. Definicion

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

4.1.1. Condiciones para los interbloqueos de recursos

4.1.1.1. -Condición de exclusión mutua. Cada recurso se asigna en un momento dado a sólo un proceso, o está disponible. -Condición de contención y espera. Los procesos que actualmente contienen recursos que se les otorgaron antes pueden solicitar nuevos recursos. -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. -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.

5. Como prevenir los Interbloqueos

5.1. Atacar la condición de exclusión mutua

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

5.2. Atacar la condición de contención y espera

5.2.1. Si podemos evitar que los procesos que contienen recursos esperen por más recursos, podemos eliminar los interbloqueos. U meta es requerir que todos los procesos soliciten todos sus recursos antes de empezar su ejecución.

5.3. Atacar la condición no apropiativa

5.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 mi quitarle la impresora a la fuerza debido a que el trazador que necesita no está disponible es algo engañoso como máximo, e impos embargo, ciertos recursos se pueden virtualizar para evitar esta situación. Al colocar en una cola de impresión en el disco la salida permitir que sólo el demonio de impresión tenga acceso a la impresora real.

5.4. Atacar la condición de espera circular

5.4.1. La espera circular se puede eliminar de varias formas. Una de ellas es simplemente tener una regla que diga que un proceso recurso en cualquier momento. Si necesita un segundo recurso, debe liberar el primero.

6. Como evitamos los Interbloqueos

6.1. Trayectorias de los recursos Los principales algoritmos para evitar interbloqueos se basan en el estados seguros. Antes de describir los algoritmos, haremos una ligera digresión para analizar el concep en una forma gráfica y fácil de comprender.

6.2. . Estados seguros e inseguros Se dice que un estado es seguro si hay cierto orden de programación ejecutar cada proceso hasta completarse, incluso aunque todos ellos solicitaran de manera repentina su recursos de inmediato.

6.3. El algoritmo del banquero para un solo recurso Dijkstra (1965) ideó un algoritmo de programac interbloqueos;

6.4. El algoritmo del banquero para varios recursos El algoritmo del banquero se puede generalizar recursos

7. Bloqueos de dos Fases

7.1. Aunque los métodos para evitar y prevenir los casos en que los niños son más prometedores en el caso general, para aplicaciones específicas sí tienen un algoritmo excelente de propósito. Como ejemplo, en muchos sistemas sistema, una operación que ocurre con frecuencia es bloqueos sobre varios después de que todos los registros bloqueados. Cuando hay varios procesos el mismo tiempo, hay un peligro real de interbloqueo. A menudo, un método como el bloqueo de dos fases.

8. Algoritmo de Avesquez

8.1. Si ocurren interbloqueos en promedio de una vez cada cinco años, pero los fallos del sistema se deben a fallas, errores del compilador y errores en el sistema operativo ocurren una vez por semana

9. Adquisición de recursos para algunos tipos de recursos, como los registros de una base de datos, es responsabilidad de los procesos de usuario administrar su uso. Una manera de permitir que los usuarios administren los recursos es asociar un semáforo con cada recurso.

9.1. Se puede usar mutexes de igual forma

9.2. Ahora cada uno se bloquea al tratar de adquirir el otro. Ninguno de los procesos se volverá a ejecutar. Esa situación es un interbloqueo.