INTERBLOQUEOS

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

1. Los sistemas comunicacionales están llenos de recursos que pueden ser utilizados por sólo un proceso a la vez algunos ejemplos comunes son las impresoras, las unidades de cinta y las ranuras en los tableros internos del sistema.

2. COMO EVITAR UN INTERBLOQUEO

2.1. TRAYECTORIA DE LOS RECURSOS

2.1.1. Un estado es seguro si el sistema puede asignar recursos a cada proceso hasta alcanzar el máximo de sus necesidades siguiendo algún orden arbitrario y aún así evitar el interbloqueo Un sistema se encuentra en estado seguro sólo si existe una secuencia segura. Una secuencia de ejecución de procesos es segura para el estado actual de asignación si, para cada proceso los recursos que aún puede solicitar Pi pueden satisfacerse con los recursos actualmente disponibles más los retenidos por todos los tales que si no existe esta secuencia, se dice que el estado es inseguro.

2.2. ESTADOS SEGUROS E INSEGUROS

2.2.1. En un estado seguro: No hay interbloqueo se puede encontrar un orden para satisfacer las necesidades máximas de todos los procesos. En un estado no seguro (inseguro): Puede haber interbloqueo o no. De no haberlo ya, el que se llegue o no el interbloqueo depende de cómo se sucedan las solicitudes de recursos. solicitudes de recursos.

3. DETECCIÓN Y RECUPERACIÓN DE UN INTERBLOQUEO

3.1. DETECCIÓN DE INTERBLOQUEO CON UN RECURSO DE CADA TIPO

3.1.1. 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 Detección de interbloqueos con un recurso de cada tipo sólo 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 para un sistema así, podemos construir un gráfico de recursos si este gráfico contiene uno o más ciclos existe un interbloqueo cualquier proceso que forme parte de un ciclo está en interbloqueo si no existen ciclos, el sistema no está en interbloqueo. Como ejemplo de un sistema más complejo que los que hemos analizado hasta ahora, considere un sistema con siete procesos, A a G, y seis recursos, R a W. El estado de cuáles recursos están contenidos por algún proceso y cuáles están siendo solicitados es el siguiente: 1. El proceso A contiene a R y quiere a S. 2. El proceso B no contiene ningún recurso pero quiere a T. 3. El proceso C no contiene ningún recurso pero quiere a S. 4. El proceso D contiene a U y quiere a S y a T. 5. El proceso E contiene a T y quiere a V. 6. El proceso F contiene a W y quiere a S. 7. El proceso G contiene a V y quiere a U.

4. RECURSOS

4.1. RECURSOS APROPIATIVOS Y NO APROPIATIVOS

4.1.1. Los recursos son de dos tipos: apropiativos y no apropiativos un recurso apropiativo es uno que se puede quitar al proceso que lo posee sin efectos dañinos y un recurso no apropiativo es uno que no se puede quitar a su propietario actual sin hacer que el cómputo falle

4.2. ADQUISICION DE RECURSOS

4.2.1. Para ciertos 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.

5. INTRODUCCIÓN A LOS INTERBLOQUEOS

5.1. CONDICIONES PARA LOS INTERBLOQUEOS DE RECURSOS

5.1.1. Exclusión mutua: cada recurso está asignado a un único proceso de manera exclusiva. Retención y espera: los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos y esperar a que se le asignen sin liberar antes alguno de los recursos que ya tenía asignados. No apropiación: los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso el proceso que los posee debe liberarlos en forma explícita ni siquiera el sistema operativo puede apropiárselo. 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

5.1.2. MODELADO DE INTERBLOQUEOS

5.1.2.1. Los modelados de interbloqueos están representados por dos tipos de nodo los cuales son: Procesó representado gráficamente por un círculo y Recurso representado por un cuadrado y con dos arcos, 1 de solicitud y otro de asignación.

6. COMO PREVENIR UN INTERBLOQUEO

6.1. COMO ATACAR LA CONDICIÓN DE EXCLUSIÓN MUTUA

6.1.1. Evite asignar un recurso cuando no sea absolutamente necesario, y trate de asegurarse que la menor cantidad posible de procesos reclamen ese recurso.

6.2. COMO ATACAR LA CONDICIÓN DE CONTENCIÓN Y ESPERA

6.2.1. Si podemos evitar que los procesos que contienen recursos esperen por más recursos, podemos eliminar los interbloqueos. 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 seasignará nada y el proceso sólo esperará

6.3. COMO ATACAR LA CONDICION NO APROPIATIVA

6.3.1. 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. Al colocar en una cola de impresión en el disco la salida de la impresora y permitir que sólo el demonio de impresión tenga acceso a la impresora real, se eliminan los interbloqueos que involucran a la impresora, aunque se crea uno para el espacio en disco. No obstante, con los discos grandes es muy improbable quedarse sin espacio

6.4. CMO ATACAR LA CONDICION DE ESPERA CIRCULAR

6.4.1. 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

7. OTRAS CUESTIONES

7.1. INTERBLOQUEO DE COMUNICACIONES

7.1.1. Otro tipo de interbloqueo puede ocurrir en los sistemas de comunicaciones (como las redes), en donde dos o más procesos se comunican mediante el envío de mensajes

7.2. BLOQUEO DE DOS FASES

7.2.1. Aunque los métodos para evitar y prevenir los interbloqueos no son muy prometedores en el caso general, para aplicaciones específicas se conocen muchos algoritmos excelentes de propósito especial. Como ejemplo, en muchos sistemas de bases de datos, una operación que ocurre con frecuencia es solicitar bloqueos sobre varios registros y después actualizar todos los registros bloqueados. Cuando hay varios procesos en ejecución al mismo tiempo, hay un peligro real de interbloqueo