Está en la página 1de 3

CONCURRENCIA INTERBLOQUEO

PRINCIPIOS DEL INTERBLOQUEO


El interbloqueo se puede definir 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,
no existe una solución eficiente para el caso general. Todos los interbloqueos
suponen necesidades contradictorias de recursos por parte de dos o más
procesos
Concurrencia: interbloqueo e inanición
Se define como el bloqueo permanente de un conjunto de procesos que compiten
por los recursos del sistema o bien se comunican unos con otros.
RECURSOS
Un sistema se compone de un numero finito de recursos que se distribuyen entre
varios tipos: - Físicos: Ciclo de cpu, espacio en memoria, dispositivos de e/s
(impresoras, unidades de cinta, etc.) - Lógicos: Ficheros, tablas del sistemas,
semáforos. Por lo general, una computadora tiene distintos recursos que pueden
ser otorgados. Algunos recursos podrán tener varias instancias idénticas, como es
el caso de tres unidades de cinta. Si se tienen disponibles varias copias de un
recurso, cualquiera de ellas se pude utilizar para satisfacer cualquier solicitud del
recurso. Un recurso es cualquier cosa que solo puede ser utilizada por un único
proceso en un instante dado. Los recursos son de dos tipos: - Apropiable - No
apropiables
Si el recurso no esta disponible cuando se le solicita, el proceso solicitante debe
esperar. En algunos sistemas operativos, el proceso se bloquea de manera
automática al fallar una solicitud de un recurso y se despierta cuando dicho
recurso esta disponible. En otros sistemas la solicitud falla con un código de error
y el proceso solicitante debe esperar un poco e intentar de nuevo. Un proceso
cuya solicitud de un recurso ha sido denegada entra por lo general en un ciclo, en
el cual solicita el recurso, duerme e intenta de nuevo. Aunque este proceso no
esta bloqueado, para todos los efectos esta como bloqueado, puesto que no
puede hacer ninguna labor útil.
CONDICIONES PARA PRODUCIR INTERBLOQUEO
En la política del sistema operativo, deben darse tres condiciones para que pueda
producirse un interbloqueo:
1- Condición de exclusión mutua: Cada recurso esta asignado a un único
proceso o esta disponible.
2- Condición de posesión y espera: Los procesos que tienen, en un momento
dado, recursos asignados con anterioridad, pueden solicitar nuevos
recursos.
3- Condición de no apropiación: Los recursos otorgados con anterioridad no
pueden ser forzados a dejar un proceso. El proceso que los posee debe
liberarlos en forma explicita.
En la mayoría de los casos, estas condiciones son bastantes necesarias. La
exclusión mutua hace falta para asegurar la consistencia de resultados y la
integridad de la base de datos. De forma similar, la apropiación no se puede
aplicar arbitrariamente y, cuando se encuentran involucrados recursos de datos,
debe estar acompañada de un mecanismo de recuperación y reanulación, que
devuelva un proceso y sus recursos a un estado previo adecuado, desde el que el
proceso puede finalmente repetir sus acciones. Puede no existir interbloqueo con
solo estas tres condiciones. Para que se produzca interbloqueo, se necesita una
cuarta condición:
4- Condición de espera circular (o circulo vicioso de espera): Debe existir una
cadena circular de dos o mas procesos, cada uno de los cuales espera un
recurso poseído por el siguiente miembro de la cadena.

EJEMPLO:
Interbloqueo de tráfico Cuatro coches llegan aproximadamente en el mismo
instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección
son los recursos compartidos sobre los que se demanda control; por tanto, si los
coches desean atravesar el cruce, las necesidades de recursos son las siguientes:
El coche que va hacia el norte necesita los cuadrantes 1 y 2. El coche que va
hacia el oeste necesita los cuadrantes 2 y 3. El coche que va hacia el sur necesita
los cuadrantes 3 y 4. El coche que va hacia el este necesita los cuadrantes 4 y 1.
La norma mas habitual en la carretera es que un coche en un cruce de cuatro
caminos debe ceder el paso al coche que está a su derecha. Esta norma funciona
si solo hay dos o tres coches en el cruce. Por ejemplo, si solo llegan al cruce los
coches del norte y del oeste, el coche del norte esperará hasta que el del oeste
pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se
abstendrá de entrar en el cruce, provocando interbloqueo. Si todos los coches
ignoran las normas y entran (con cuidado) en el cruce, cada coche obtendrá un
recurso (un cuadrante) pero no podrá continuar porque el segundo recurso que
necesita ya ha sido invadido por otro coche. De nuevo, se tiene interbloqueo.

También podría gustarte