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