Вы находитесь на странице: 1из 4

DEADLOCK (muerte por bloqueo) El problema ocurre al alternar varias tareas compartiendo recursos en forma simultnea, pudiendo anularse

entre si, lo cual es algo que depende del azar. Aplazamiento indefinido: Se espera en forma indefinida por la liberacin de un recurso. Ejemplo de DEADLOCK: Sean dos procesos: P1 y P2, y dos recursos: C y D Lo programado:En un sistema de multiprogramacin varios procesos, pueden competir por una cantidad de recursos. Un proceso requiere recursos y si los recursos no estan disponibles, el proceso entra en estado de espera. Puede suceder que el proceso que espera nunca cambie su estado debido a que los recursos que requiere, estn asignados a otros procesos, que a su vez estn en estado de espera. Tambin surge el problema del aplazamiento indefinido en el que el proceso, aunque no este en deadlock puede esperar largo tiempo, por un evento debido a la predisposicin de los controles de planificacin de recursos del sistema. Hay 4 condiciones que tienen que estar presentes para que se produzca el deadlock: 1) Mutua exclusin 2) Retencin y espera 3) No remocin 4) Espera circular 1) Mutua exclusin : Se refiere a procesos que reclaman control exclusivo de los recursos que solicitan. Al menos un recurso esta asignado, si otro proceso requiere este recurso deber esperar hasta que sea liberado. 2) Retencin y espera: Existe un proceso que tiene asignado recursos y que esta esperando por otros recursos adicionales que estn siendo usados por otros procesos. 3) No remocin: Recursos que no pueden ser removidos de los procesos que los poseen hasta que sean usados completamente, es decir un recurso puede ser solamente liberado voluntariamente por el proceso que lo tiene asignado, y no existe opcin de quitrselo al sistema mientras este siendo usado. 4) Espera circular: Se refiere a que existe un conjunto de procesos (PO, P1, P2, ... PN) tal que PO est esperando por un recurso asignado a P1, ..., PN-1 est esperando por un recurso asignado a PN y PN esta esperando por un recurso asignado a PO. Tiene asignado un recurso y esta esperando por un recurso.

Areas para la investigacin del DEADLOCK (1) Prevencin (2) Evasin (3) Deteccin (4) Recuperacin 1. Prevencin: Prevencin La estrategia de prevencin del interbloqueo consiste, a grandes rasgos, en disear un sistema de manera que est excluida, a priori, la posibilidad de interbloqueo. Los mtodos para prevenir el interbloqueo son de dos tipos. Los mtodos indirectos consisten en impedir la aparicin de alguna de las tres condiciones necesarias, antes mencionadas (condiciones 1 a 3). Los mtodos directos consisten en evitar la aparicin del crculo vicioso de espera (condicin 4). Se examinarn a continuacin las tcnicas relacionadas con cada una de las cuatro condiciones. Coffman (1971) demostr que deben cumplirse cuatro condiciones para que haya un bloqueo mutuo: 1. Condicin de exclusin mutua. Cada recurso est asignado nicamente a un solo proceso o est disponible. 2. Condicin de retener y esperar.Los procesos que actualmente tienen recursos que les fueron otorgados previamente
pueden solicitar nuevos recursos.

3. Condicin de no expropiacin. No es posible quitarle por la fuerza a un proceso los recursos que le fueron
otorgados previamente. El proceso que los tiene debe liberarlos explcitamente.

4. Condicin de espera circular. Debe haber una cadena circular de dos o ms procesos, cada uno de los cuales est
esperando un recurso retenido por el siguiente miembro de la cadena.

Deben estar presentes estas cuatro condiciones para que ocurra un bloqueo mutuo. Si una o ms de estas condiciones est ausente, no puede haber bloqueo mutuo.

Significa imponer reglas o restricciones que me aseguren que no se va a producir el DEADLOCK. 2. Evasin: Es darse cuenta que una serie de requerimientos pueden provocar DEADLOCK y en consiguiente no permitir que esa serie de requerimientos se produzca; por ejemplo, no pasar a estados de espera con recursos asignados. Mtodos para manejar el DEADLOCK: Podemos usar algn protocolo para asegurar que el sistema nunca entre en deadlock. Podemos dejar que el sistema entre en deadlock y luego tratar de recuperarlo Estado seguro: Es aquel que satisface los requerimientos de recursos a cada proceso (hasta su mximo) impidiendo el deadlock, es decir es tal que a todos los procesos les ser posible finalizar y por consiguiente no habr deadlock. El estado inseguro es lo contrario. 4. Recuperacin Las formas de recuperar pueden ser:

1) Cancelo la ejecucin del sistema y recomienzo. 2) Individualizar los procesos que causan DEAD-LOCK y cancelarlos. 3) Individualizar los procesos que causan DEAD-LOCK, desasignar los recursos y posponer su ejecucin. La solucin ms comn es cancelar la ejecucin de uno o ms procesos, otra solucin es la de remover algunos recursos de uno o ms procesos en DEAD LOCK. Si se usa el criterio de remocin entonces hay que seleccionar la vctima, o sea a que proceso le saco y que recursos saco. Los elementos a tener en cuenta son: - Prioridad de procesos. - Tiempo que ha ejecutado cada proceso. - Cantidad de recursos asignados.- Cantidad de recursos adicionales que el proceso necesita para finalizar.

Tipos de recursos Se pueden distinguir dos categoras generales de recursos: reutilizables y consumibles. Reutilizables Un recurso reutilizable es aqul que puede ser usado con seguridad por un proceso y no se agota con el uso. Los procesos obtienen unidades de recursos que liberan posteriormente para que otros procesos las reutilicen. Como ejemplos de recursos reutilizables se tienen los procesadores, canales de E/S, memoria principal y secundaria, dispositivos y estructuras de datos tales como archivos, bases de datos y semforos. Consumibles Un recurso consumible es aqul que puede ser creado (producido) y destruido (consumido). Normalmente, no hay lmite en el nmero de recursos consumibles de un tipo en particular. Un proceso productor que no est bloqueado puede liberar cualquier nmero de recursos consumibles. Cuando un proceso adquiere un recurso, ste deja de existir. Como ejemplos de recursos consumibles estn las interrupciones, seales, mensajes, e informacin en buffers de E/S.

Вам также может понравиться