Este fue unos de los temas mas particulares que ocurren hoy en dia por lo cual le presento de que trata veamos:
Un bloqueo/Deadlock es un conjunto de procesos está en un abrazo mortal cuando todos los procesos en ese conjunto están esperando un evento que sólo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos estamos refiriendo son concernientes con la asignación y liberación de recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales.
Un proceso puede estar identificado con tres estados diferentes: leyendo (ready), ejecutando (running) o bloqueado (blocked). En el estado de lectura, un proceso está parado, concediendo que otro proceso sea ejecutado; en el estado de ejecución, un proceso está utilizando algún recurso; y en el estado de bloqueo, el proceso está parado y no se ejecutará mientras algo lo restaure.
Una condición común no deseable es descripta como bloqueo, que es cuando varios procesos están en un estado de ejecución, y requieren intercambiar recursos entre sí para continuar. Ambos procesos están esperando por la liberación del recurso requerido, que nunca será realizada; como no hay ningún resultado, tomará un camino que llevará a un estado de bloqueo.
Se dice que dos procesos se encuentran en estado de bloqueo cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.
En un entorno de multiprogramación varios procesos pueden competir un número finito de recursos, Los recursos de un sistema son distribuidos en varios tipos (espacio de memoria, ciclos de CPU, archivos, dispositivos de E/S). Estos se particionan en distintos tipos, cada uno de los cuales se llaman "Instancias". Si un proceso requiere una instancia de un tipo de recurso, la asignación de cualquier instancia del tipo satisface el requerimiento. Un proceso solicita recursos, si los recursos no están disponibles en ese momento, el proceso pasa a estado de espera. Es posible que algunas veces, un proceso en espera no pueda cambiar de estado nunca, porque los recursos que ha solicitado estén ocupados por otro proceso que a su vez esté esperando de otros recursos. Cuando se produce una situación como esta se dice que ha ocurrido un Bloqueo.
Los Bloqueos También son llamados:
○ Deadlock
○ Interbloqueos
○ Abrazo mortal
○ Bloqueo mutuo
Video:
No hay comentarios:
Publicar un comentario