lunes, 2 de noviembre de 2015

INTERBLOQUEO

Fecha: 02 de Noviembre 2015
Tema: INTERBLOQUEO 

INTRODUCCIÓN
Los principales interbloqueos se dan con los recursos, los mismos que pueden ser dispositivos de hardware como una unidad de cinta, en general las computadoras cuentan con una variedad de recursos que se pueden obtener.
Hay que tener en cuenta que este tipo de interbloqueo no solo se da en sistemas operativos, se usan también en los sistemas de gestión de base de datos en este caso los registros vendrían siendo los recursos.
Los interbloqueos no son otra cosa que dos o más tareas se bloquean entre sí, teniendo cada tarea un bloqueo en un recurso que las otras tareas intentan bloquear.
MARCO TEORICO
INTERBLOQUEOS

Define el interbloqueo como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, para el caso general no existe una solución eficiente.
Todos los interbloqueos suponen demandas contradictorias de recursos por parte de dos o más procesos. En la siguiente figura ilustra este conflicto de forma abstracta en el caso de dos procesos y dos recursos.

Otro ejemplo de interbloqueo con un recurso reutilizable tiene que ver con las peticiones a memoria principal. Supóngase que el espacio disponible es de 200KB y se origina la siguiente secuencia de peticiones:


RECURSOS

Una clase principal de interbloqueos involucra a los recursos, un  recurso puede ser un dispositivo de hardware o una pieza de información. 
Por ejemplo
§  Una unidad de cinta
§  Un registro bloqueado en una base de datos
Los recursos son de dos tipos
Recurso apropiable
Recurso no apropiable 

Recurso apropiable
Un recurso apropiable es aquel que se puede tomar del proceso que lo posee sin efectos dañinos. La memoria es un ejemplo de recurso apropiable.
Recurso no apropiable
Un proceso puede emplear un recurso solo siguiendo la secuencia del Modelo del Sistema los cuales son tres.
ü  Solicitud  

ü  Utilización                                       

ü  Liberación

Cada vez que se solicita o se devuelve un recurso, se actualiza el estado de los recursos y se hace una verificación para observar si existe algún ciclo.

CONDICIONES PARA PRODUCIRSE UN INTERBLOQUEO
Para que se produzca interbloqueo deben darse tres condiciones importantes. Puede no existir interbloqueo con solo estas tres condiciones, lo cual se necesita una cuarta condición:
1.    CONDICIÓN DE EXCLUSIÓN MUTUA 
La  condición de exclusión mutua  ocurre cuando un solo proceso se puede usar un recurso simultáneamente.
2.    CONDICIÓN DE RETENCIÓN Y ESPERA
En esta condición de retención y espera es cuando en la condición del proceso puede retener unos recursos asignados mientras espera que se le asignen otros.
3.    CONDICIÓN DE NO APROPIACIÓN
Esta condición establece que los recursos no pueden ser extraídos de los procesos que los tienen hasta su completa utilización.
4.    CONDICIÓN DE ESPERA CIRCULAR
En esta condición existe una cadena circular de procesos en la que cada uno mantiene a uno o más recursos que son requeridos por el siguiente proceso de la cadena.

Las cuatro condiciones en conjunto constituyen una condición necesaria y suficiente para el interbloqueo

DETECCIÓN Y PREVENCIÓN  DEL INTERBLOQUEO

La detección del interbloqueo es el proceso de determinar si realmente existe un interbloqueo e identificar los procesos  y recursos implicados en él. En cambio  La prevención del interbloqueo apunta a una serie de estrategias que eviten el interbloqueo.

EVITACIÓN DEL INTERBLOQUEO
El algoritmo del banquero según Dijkstra es utilizado  para evitar el interbloqueo, este algoritmo permite la asignación de unidades de cinta a los usuarios solamente cuando la asignación conduzca a estados seguros, y no a estados inseguros.
             ESTADO SEGURO
Un estado seguro es una situación en que todos los procesos son capaces de terminar en algún momento.
Para que un estado sea seguro, es necesario que los procesos formen una secuencia segura, es decir una ordenación de los procesos.
Sin embargo, se dice que un estado es seguro si hay cierto orden de programación en el que se puede ejecutar cada proceso hasta completarse, incluso aunque todos ellos solicitaran de manera repentina su número máximo de recursos de inmediato.




El estado de la figura 6-9(a) es seguro, debido a que existe una secuencia de asignaciones que permite completar todos los procesos.

ESTADO INSEGURO 
Por ende, la diferencia entre un estado seguro y uno inseguro es que, desde un estado seguro, el sistema puede garantizar que todos los procesos terminarán; desde un estado inseguro, no se puede dar esa garantía.
Hay que tener en cuenta en observar que un estado inseguro no es un estado en interbloqueo.







CONCLUSIONES

En este trabajo investigativo destacamos que el interbloqueo se da entre dos o más recursos, recordando que no solo en sistemas operativos, sino también en sistemas de gestión de base de datos.


BIBLIOGRAFIA
Stallings, A. 2008. Sistemas Operativos. P R E N T I C E H A L L. Madrid,
                        2 ed. P 225-232.

Tanenbaum, A. 2009. Sistemas Operativos Modernos. Pearson educación de

                        México, S.A. de C.V. 3 ed. México. p 433- 442.

























No hay comentarios:

Publicar un comentario