Documentos de Académico
Documentos de Profesional
Documentos de Cultura
13/10/2021
Deadlock
El interbloqueo puede definirse formalmente como sigue: Un conjunto de procesos
está en interbloqueo si cada proceso del conjunto está esperando un evento que
sólo otro proceso del conjunto puede causar. Puesto que todos los procesos están
esperando, ninguno de ellos puede causar ninguno de los eventos que podrían
despertar a cualquiera de los demás miembros del conjunto, y todos los procesos
continúan esperando indefinidamente.
Deben estar presentes estas cuatro condiciones para que ocurra un bloqueo
mutuo. Si una o más de estas condiciones está ausente, no puede haber bloqueo
mutuo.
Ventajas de Deadlock
Aquí están los pros y los contras de usar el método Deadlock
Este escenario funciona bien para procesos que solo hacen que una acción
estalle
No se requiere preferencia para Deadlock.
Un método útil cuando se aplica a recursos cuyo estado se puede guardar y
restaurar fácilmente
Se puede hacer cumplir mediante comprobaciones de tiempo compiladas.
No se requiere tiempo electrónico para ejecutarse ya que el diseño del
sistema resuelve el problema
Detección de Deadlock
Las estrategias de prevención del interbloqueo son muy conservadoras;
solucionan el problema del interbloqueo limitando el acceso a los recursos e
imponiendo restricciones a los procesos. En el lado opuesto, las estrategias de
detección del interbloqueo no limitan el acceso a los recursos ni restringen las
acciones de los procesos. Con detección del interbloqueo, se concederán los
recursos que los procesos necesiten siempre que sea posible. Periódicamente, el
sistema operativo ejecuta un algoritmo que permite detectar la condición de círculo
vicioso de espera. Puede emplearse cualquier algoritmo de detección de ciclos en
grafos dirigidos.
El control del interbloqueo puede llevarse a cabo tan frecuentemente como las
solicitudes de recursos o con una frecuencia menor, dependiendo de la
probabilidad de que se produzca el interbloqueo. La comprobación en cada
solicitud de recurso tiene dos ventajas: Conduce a una pronta detección y el
algoritmo es relativamente simple, puesto que está basado en cambios
increméntales del estado del sistema. Por otro lado, tal frecuencia de
comprobaciones consume un tiempo de procesador considerable.
1. Abandonar todos los procesos bloqueados. Esta es, se crea o no, una de las
soluciones más comunes, si no la más común, de las adoptadas en un sistema
operativo.
Para los puntos 3 y 4, el criterio de selección podría ser uno de los siguientes,
consistentes en escoger el proceso con:
Algunas de estas cantidades son más fáciles de medir que otras. El tiempo
restante estimado deja lugar a dudas, especialmente. Además, aparte de las
medidas de prioridad, no existe otra indicación del “coste” para el usuario frente al
coste para el sistema en conjunto.
Prevención de Deadlock
Los bloqueos mutuos pueden ser evitados si se sabe cierta información sobre los
procesos antes de la asignación de recursos. Para cada petición de recursos, el
sistema controla si satisfaciendo el pedido entra en un estado inseguro, donde
puede producirse un bloqueo mutuo. De esta forma, el sistema satisface los
pedidos de recursos solamente si se asegura que quedará en un estado seguro.
Para que el sistema sea capaz de decidir si el siguiente estado será seguro o
inseguro, debe saber por adelantado y en cualquier momento el número y tipo de
todos los recursos en existencia, disponibles y requeridos.
Prevención
Los bloqueos mutuos pueden prevenirse asegurando que no suceda alguna de las
condiciones necesarias vistas anteriormente.
Recuperación de Deadlock
Una vez que se ha detectado el interbloqueo se debe romper para que los
recursos puedan finalizar su ejecución y liberar así los recursos. Para ruptura de la
espera se pueden realizar varias opciones. Las idónea sería suspendiendo
algunos de los procesos bloqueados para tomar sus recursos y reanudar su
ejecución una vez que se hubiera deshecho el interbloqueo. Esta solución solo
puede resultar factible en casos muy particulares; no se podría suspender a un
proceso de escribir de escribir en una impresora para pasarla a otro proceso y
reanudar después la impresión, como tampoco se podría suspender
indefinidamente un proceso de tiempo real. Las dos opciones que se suelen
utilizar son: reiniciar uno o más de los procesos bloqueados y expropiar los
recursos de algunos de los procesos bloqueados.
Para aplicar la primera de las opciones se deben tener en cuenta una serie de
factores con el fin de elegir aquellos procesos cuya reiniciación resulte menos
traumática. Entre los factores a tener en cuenta en cada proceso se tienen:
Conclusión
Como conclusión podemos ambos podemos decir que el deadlock asta cierto
punto es, de alguna forma, beneficioso para las computadoras, ya que con esto se
puede evitar que la misma llegue a tener un error fatal a la hora de realizar los
procesos, aunque esto a su vez, también puede llegar a ser molesto, en especial
para los programadores más inexpertos.
Bibliografía
Alarcón, J. M. (28 de abril de 2011). jasoft. Obtenido de jasoft:
https://www.jasoft.org/Blog/post/191;Que-es-un-deadlock-o-interbloqueo