Bloqueos Mutuos
Bloqueos Mutuos
Bloqueos Mutuos
Tambin llamado deadlock o abrazo mortal. Varios procesos bloqueados en espera de un evento (por ejemplo, la obtencin de un recurso) que es imposible que ocurra. Procesos bloqueados: no estn en ejecucin, nunca terminan, tienen asignados recursos que no pueden usar (puesto que no estn en ejecucin) y nunca devuelven los recursos porque nunca acaban. Baja la eficiencia del sistema.
2 Caractersticas del BM
2.1 Condiciones necesarias
Las Cuatro Condiciones Necesarias:. o Un sistema que est en BM cumple en un determinado momento todas y cada una de las condiciones. o Que se cumplan todas y cada una de las condiciones, no quiere decir que necesariamente est en una situacin de BM. 1.- Exige el uso de un recurso en Exclusin Mutua. 2.- Espera y Retencin: mientras espera (bloqueado) la obtencin de un recurso adicional, no libera los que ya posee. 3.- No apropiacin: un recurso slo puede ser liberado voluntariamente por el proceso que lo tiene asignado. 4.- Espera Circular. Las Cuatro Condiciones no son independientes o La cuarta, espera circular, implica las otras tres. o Se mantienen las 4 porque permite establecer claramente mecanismos de prevencin.
De peticin: Proceso Recursos De asignacin: Recurso proceso. o Grficamente: o Procesos son globos con su nombre dentro. o Recursos: cajas cuadradas con tantos puntos o marcas como ejemplares del recurso. o Los arcos de peticin van al cuadrado del recurso que se pide. o Los arcos de asignacin van de la instancia al proceso.
Dada la definicin del grafo, se puede demostrar que: o Si el grafo no contiene ciclos, no hay procesos en BM. o Si hay un nico ejemplar de cada recurso, y hay uno o ms ciclos en el grafo, entonces hay BM. En este caso, la existencia de un ciclo es necesaria y suficiente para un BM. o Si cada tipo de recurso tiene ms de un ejemplar, la existencia de ciclos no garantiza la existencia de BM.
o Permitir que se pueda llegar a una situacin de BM. Esto sucede cuando no se hace nada para prevenir ni evitar. Detectarlo Recuperar el sistema (eliminarlo).
4 Prevencin
Basada en que si existe BM se deben cumplir simultneamente las cuatro condiciones. Negando al menos alguna de ellas mediante la adopcin de un protocolo de asignacin y liberacin, se estar impidiendo que exista BM. Negar Exclusin Mutua. o No es admisible, pues muchos de los recursos del Sistema Informtico requieren para su uso la exclusin mutua. Negar Retencin y Espera. Siempre que un proceso solicite un recurso, debe ocurrir que no tiene concedidos ninguno otro. Pidiendo todos los recursos que va a usar al inicio de su ejecucin. De forma equivalente, un proceso puede tener recursos asignados, y cuando pida uno adicional, previamente libera todos los que tena asignados, y si es necesario, vuelve a pedir todos los que tena asignados hasta el momento, incluyendo el nuevo. Desventajas: Baja eficiencia en la utilizacin de recursos: tener asignado un recurso desde el inicio de la ejecucin del proceso, si slo lo va a usar al final, impide su uso por otros procesos. Puede haber inanicin: un proceso que pide varios recu rsos populares, quizs se deber quedar esperando un tiempo largo indefinido hasta que estn todos libres. Negar No Expropiacin. o Si un proceso tiene unos recursos asignados, y solicita uno nuevo que no est disponible (y por lo tanto se queda bloqueado a la espera), implcitamente libera todos los recursos que posea (antes de bloquearse), es decir, los pone a disposicin por si acaso alguien los necesita. Este proceso que se ha bloqueado, slo se despertar cuando todos los recursos que ha liberado y el nuevo que peda estn disponibles. o Otra alternativa: cuando un proceso P solicita un recurso y no est libre, el SO examina si dicho recurso lo posee un proceso que tambin se halla esperando la asignacin de un recurso. Si es as, el sistema se apropia de dichos recursos y se los ofrece P. o Es un procedimiento que se aplica a recursos expropiables, es decir, que su estado se puede guardar y recuperar ms tarde (p.ej. memoria, registros de CPU...) Negacin de la Espera Circular. o Imponer un orden total en todos los tipos de recurso, y exigir que cada proceso solicite los recursos en orden creciente. Ej.: R1 (cinta), R2 (disco), R3 (Impresora). Un proceso puede pedir R1 y luego R3, pero no R2 y luego R1. (Si hay varias cintas, y un proceso quiere utilizar ms de una, las debe de pedir todas a la vez). Cuando un proceso necesite un Ri cuando ya ha adquirido un Rk (i<k), debe liberar todos los Rj (i<j<k), para luego volver a pedirlos en el orden correcto. o Desventajas: La Funcin de Orden se debe definir cada vez que se aade un nuevo recurso al sistema.
La Funcin de Orden debe ser conocida explcitamente por el usuario/programador. Los programas desarrollados no son transportables a sistemas con distinta Funcin de Orden.
5 Evitacin del BM
La prevencin hace que el sistema no aproveche los recursos de forma eficiente, pero no requiere informacin adicional sobre los procesos que ejecuta el sistema. La evitacin necesita informacin adicional sobre los procesos. Cada vez que un proceso hace una peticin, dicha peticin se evala, y de acuerdo al conocimiento que tengamos del sistema y de los procesos, se decide concederla o no. Dependiendo del algoritmo de evitacin, as tendremos necesidad de distintas informaciones. Generalmente son: o Nmero de recursos que posee cada proceso. o Nmero de recursos que puede llegar a pedir cada proceso, y o Nmero de recursos disponibles (libres) en el Sistema Informtico, El algoritmo examina dinmicamente el estado de asignacin de recursos en el sistema, y decide si conceder inmediatamente el recurso o bloquear al proceso que lo pidi (antes de asignrselo), en espera de un cambio en el estado del sistema y volver a preguntar si se le concede o no.
Un sistema donde no hay BM est en un estado seguro. o o Todos los procesos acaban. Un sistema con BM est en un estado inseguro o o No todos los procesos acaban (no acaban los que estn bloqueados). No todos los estados inseguros implican que haya BM en el sistema. Ejemplo:
Hay una secuencia segura, luego el estado es seguro. Es posible pasar de un estado seguro a uno inseguro.
6 Deteccin del BM
Si no se previene ni evita, el BM puede aparecer. Algoritmo de deteccin, como el seguridad, pero ahora en vez de Necesidades Mximas, lo que se pone es la Solicitud actual. Se es optimista: si se puede conceder la peticin de un recurso, suponemos que nos lo devolver. Tambin se puede hacer con grafo de asignacin de recursos. Operacin de reduccin de un grafo. Transformar si es posible- los arcos de peticin en arcos de asignacin. Eliminar todos los procesos que slo tienen arcos de asignacin, pues esos procesos no estn bloqueados, y suponemos que acabarn en un tiempo finito, devolviendo los
7 Recuperacin despus de un BM
Opciones: o Abortar procesos hasta que se rompa el BM. o Expropiar recursos (que sean expropiables).