You are on page 1of 5

CÓMO EVITAR INTERBLOQUEOS:

• Con la evitación no se tienen reglas estáticas a los procesos, sino que


el sistema operativo analiza cada petición de recursos y determina si
el sistema quedará en un estado estable o inestable, en este último
caso, se deniega la petición, posponiéndola temporalmente.
La evitación se basa en los siguientes conceptos:

• Estado de asignación de recursos: Número de recursos asignados,


disponibles y máximo de recursos posibles por proceso.
• Secuencia segura: Secuencia de finalización de procesos, tal que
todos los procesos puedan finalizar exitosamente, iniciando en un
determinado estado de asignación de recursos
• Estado seguro de asignación de recursos: Estado de asignación de
recursos, donde existe al menos una secuencia segura.
• Estado inseguro de asignación de recursos: No existe ninguna
secuencia segura. Obsérvese, que aunque un estado inseguro no
implica que exista interbloqueo, talvez una secuencia determinada de
eventos lleve a uno.
Estados seguros e inseguros:

• 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.

• Un estado inseguro no es un estado en interbloqueo, 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.
El algoritmo del banquero para un solo recurso

• Dijkstra (1965) ideó un algoritmo de programación que puede evitar


interbloqueos; este algoritmo se conoce como el algoritmo del
banquero y es una extensión del algoritmo de detección de
interbloqueos.
• Se modela de la forma en que un banquero de una pequeña ciudad
podría tratar con un grupo de clientes a los que ha otorgado líneas de
crédito. Lo que hace el algoritmo es comprobar si al otorgar la
petición se produce un estado inseguro. Si es así, la petición se
rechaza. Si al otorgar la petición se produce un estado seguro, se lleva
a cabo
El algoritmo del banquero para varios recursos:
• El algoritmo del banquero se puede generalizar para manejar varios
recursos

• Al igual que en el caso con un solo recurso, los procesos deben declarar sus
necesidades totales de recursos antes de ejecutarse, por lo que el sistema
puede calcular la matriz derecha en cada instante.
• Los tres vectores a la derecha de la figura muestran los recursos existentes
(E), los recursos poseídos,(P) y los recursos disponibles (A).

You might also like