En un conjunto de procesos, cada uno 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.
Ejemplo: Una carretera en 2 direcciones tiene un puente que sólo deja
pasar vehículos en un sentido, con las siguientes situaciones:
Un auto llega al puente y en sentido contrario no hay nadie y puede
cruzar
Si el paso es controlado por un semáforo en cada lado y 100 m antes de
cada uno hay detectores de autos para encender el semáforo opuesto en rojo,
pude pasar que 2 autos lleguen al mismo tiempo en ambos sentidos y ambos estén
detenidos por el semáforo (interbloqueo)
Si no hay semáforos, un conductor cede el paso, pero antes de que
termine el otro, aparece un 3º y así sucesivamente, puede hacer que el
conductor educado no cruce mientras haya carros en sentido contrario (postergación
indefinida)
RECURSOS.- elemento que un programa o proceso puede usar
en la computadora donde se ejecuta, y puede ser usado por un solo proceso en un
momento dado.
Tipos
Reutilizables.- El que puede ser usado con seguridad por un
proceso y no se agota con el uso, son liberados para que otros los reusen: CPU,
canales de E/S, memoria y estructuras de datos archivos, bases de datos y
semáforos.
Consumibles.- El que puede ser creado (producido) y destruido
(consumido). No hay límite en la cantidad.
Un proceso productor que no está bloqueado puede liberar cualquier
número de recursos consumibles.
Cuando un proceso adquiere un recurso, éste deja de existir: señales,
mensajes, e información en buffers. Operaciones
- Solicitud
- Uso
- Liberación
Condiciones para que se dé un interbloqueo (deben estar todas)
1.
Condición
de exclusión mutua. Cada
recurso está asignado únicamente a un solo proceso o está disponible.
2.
Condición de retener y esperar. Los procesos que
actualmente tienen recursos que les
fueron otorgados previamente
pueden solicitar nuevos recursos. 3. Condición de no expropiación. No es posible
quitarle por la fuerza a un proceso los recursos que le fueron otorgados
previamente. El proceso que los tiene debe liberarlos
4. Condición de espera circular. Debe haber una cadena circular de dos o más
procesos, cada uno de los cuales está esperando un recurso retenido por el
siguiente miembro de la cadena.
Además:
Número finito de recursos y procesos.
Un proceso puede pedir tantos recursos como necesite siempre que no
exceda los existentes
No hay comentarios.:
Publicar un comentario