INTERBLOQUEOS
En un conjunto de varios procesos pueden
competir por un número finito de recursos.
Un procesos solicita recursos y, si los
recursos no están disponibles en ese
momento, el proceso pasa al estado de
espera; Es posible que algunas veces, un
proceso en espera no pueda nunca cambiar
de estado, porque los recursos que ha
solicitado estén ocupados por otro proceso
que a su vez esté esperando de otros
recursos. Cuando se produce una situación
como esta se dice que ha ocurrido un
interbloqueo.
Recursos Reutilizables
• Estos se pueden denominar como recursos
reutilizables y consumibles, la cual es aquel
proceso que puede ser usado con seguridad y no
agota con su uso.
• Un interbloqueo se produce si cada proceso
retiene un recurso y solicita el otro; esto implica
que al parecer fuese un error de programación
en lugar de un error de diseño del sistema
operativo; además si el recurso reutilizable tiene
que ver con las peticiones a memoria principal.
Un sistema consta de un número finito de recursos,
que se distribuyen entre una serie de procesos en
competición. Los recursos se dividen en varios
tipos, constando cada uno de ellos de un cierto
número de instancias. El espacio de memoria, los
ciclos de CPU, los archivos y dispositivos de E/S son
ejemplos de tipos de recursos.
En modo de operación normal, un proceso puede
emplear un recurso solo siguiendo esta secuencia:
Solicitud – Uso – Liberación
• La
principal
caracterización
de
los
interbloqueo, se refieren a los procesos ya
que nunca terminan de ejecutarse y los
recursos del sistema están ocupados lo que
impide que se inicie otro trabajo.
Condiciones Necesarias
Puede surgir si se dan necesaria mente las
cuatro condiciones:
Exclusión mutua
Retención y espera
Sin desalojo
Espera circular
Métodos Para Tratar lo Interbloqueos
Podemos abordar el problema de los inter bloqueos de
las siguientes tres formas.
Podemos emplear un protocolo para impedir o evitar los
interbloqueos, asegurando que el sistema nunca entre en
estado de interbloqueo.
Podemos permitir que el sistema entre en estado
interbloqueo, detectarlo y realizar una recuperación.
Podemos ignorar el problema y actuar como si nunca se
produjeran interbloqueos en el sistema.
La tercera solución es la que utilizan la mayoría de los
sistemas operativos.
Prevención de Interbloqueos

Para que se produzca un interbloqueo deben cumplirse las cuatro
condiciones. Asegurando que un de estas cuatro no se cumplan podemos
prevenir la aparición de interbloqueos.
Exclusión mutua.- Al menos un recurso debe estar en modo no compartido,
es decir, solo un procesos puede usarlo cada vez. Si otro proceso solicita el
recurso, el proceso solicitante tendrá que esperar hasta que el recurso sea
liberado.
Retención y espera.- Un proceso debe estar retenido al menos un recurso
y esperando para adquirir otro recurso adicionales que actualmente estén
retenidos por otro proceso.
Sin desalojo.- Los recursos no pueden ser desalojados, es decir un recurso
solo puede ser liberado voluntariamente por el proceso que le retiene,
después de que dicho proceso haya completado su tarea.
Espera circular.- debe existir un conjunto de procesos en espera, tal que este
proceso esté esperando a un recurso retenido por P1, P1 esté esperando a un
recurso retenido por P2, …,Pn-1 esté esperando a un recurso retenido por Pn,
y Pn esté esperando a un recurso retenido por P0.
Evasión de los Interbloqueos
Los algoritmos de prevención de interbloqueos impiden
los interbloqueos restringiendo el modo en que pueden
hacerse las solicitudes, estas restricciones aseguran que
al menos una de las condiciones necesarias para que
haya interbloqueo no se produzca y, por tanto no pueda
aparecer interbloqueos.
Sin embargo, esta técnica de prevención de
interbloqueos tiene algún posible efecto colateral, como
son una baja tasa de utilización de los dispositivos y un
menor rendimiento del sistema. Un posible método para
evitar los interbloqueos consiste en requerir información
adicional sobre cómo van a hacer solicitados los recursos.
Detección de Interbloqueos
Si un sistema no emplea ni algoritmos de
prevención ni de evasión de interbloqueos,
entonces puede producirse una situación de
interbloqueo en el sistema. En este caso el
sistema debe proporcionar:
Un algoritmo que Examine el estado del sistema
para determinar si se ha producido un
interbloqueo.
Un algoritmo para recuperarse del interbloqueo.
Recuperación de Interbloqueo
Cuando el algoritmo de detección determina que
existe un interbloqueo, tenemos barias
alternativas. Una posibilidad es informar al
operador de que se ha producido un interbloqueo y
dejar que lo trate de forma manual. Otra forma es
dejar que el sistema sea el que haga la
recuperación del interbloqueo de forma
automática. Existen dos opciones para romper un
interbloqueo una de ellas consiste en interrumpir
uno o más procesos para romper la cadena de
espera circular, La otra consiste en desalojar
recursos de uno o más de los procesos bloqueados.

Interbloqueos

  • 1.
    INTERBLOQUEOS En un conjuntode varios procesos pueden competir por un número finito de recursos. Un procesos solicita recursos y, si los recursos no están disponibles en ese momento, el proceso pasa al estado de espera; Es posible que algunas veces, un proceso en espera no pueda nunca cambiar de estado, porque los recursos que ha solicitado estén ocupados por otro proceso que a su vez esté esperando de otros recursos. Cuando se produce una situación como esta se dice que ha ocurrido un interbloqueo.
  • 2.
    Recursos Reutilizables • Estosse pueden denominar como recursos reutilizables y consumibles, la cual es aquel proceso que puede ser usado con seguridad y no agota con su uso. • Un interbloqueo se produce si cada proceso retiene un recurso y solicita el otro; esto implica que al parecer fuese un error de programación en lugar de un error de diseño del sistema operativo; además si el recurso reutilizable tiene que ver con las peticiones a memoria principal.
  • 3.
    Un sistema constade un número finito de recursos, que se distribuyen entre una serie de procesos en competición. Los recursos se dividen en varios tipos, constando cada uno de ellos de un cierto número de instancias. El espacio de memoria, los ciclos de CPU, los archivos y dispositivos de E/S son ejemplos de tipos de recursos. En modo de operación normal, un proceso puede emplear un recurso solo siguiendo esta secuencia: Solicitud – Uso – Liberación
  • 4.
    • La principal caracterización de los interbloqueo, serefieren a los procesos ya que nunca terminan de ejecutarse y los recursos del sistema están ocupados lo que impide que se inicie otro trabajo.
  • 5.
    Condiciones Necesarias Puede surgirsi se dan necesaria mente las cuatro condiciones: Exclusión mutua Retención y espera Sin desalojo Espera circular
  • 6.
    Métodos Para Tratarlo Interbloqueos Podemos abordar el problema de los inter bloqueos de las siguientes tres formas. Podemos emplear un protocolo para impedir o evitar los interbloqueos, asegurando que el sistema nunca entre en estado de interbloqueo. Podemos permitir que el sistema entre en estado interbloqueo, detectarlo y realizar una recuperación. Podemos ignorar el problema y actuar como si nunca se produjeran interbloqueos en el sistema. La tercera solución es la que utilizan la mayoría de los sistemas operativos.
  • 7.
    Prevención de Interbloqueos Paraque se produzca un interbloqueo deben cumplirse las cuatro condiciones. Asegurando que un de estas cuatro no se cumplan podemos prevenir la aparición de interbloqueos. Exclusión mutua.- Al menos un recurso debe estar en modo no compartido, es decir, solo un procesos puede usarlo cada vez. Si otro proceso solicita el recurso, el proceso solicitante tendrá que esperar hasta que el recurso sea liberado. Retención y espera.- Un proceso debe estar retenido al menos un recurso y esperando para adquirir otro recurso adicionales que actualmente estén retenidos por otro proceso. Sin desalojo.- Los recursos no pueden ser desalojados, es decir un recurso solo puede ser liberado voluntariamente por el proceso que le retiene, después de que dicho proceso haya completado su tarea. Espera circular.- debe existir un conjunto de procesos en espera, tal que este proceso esté esperando a un recurso retenido por P1, P1 esté esperando a un recurso retenido por P2, …,Pn-1 esté esperando a un recurso retenido por Pn, y Pn esté esperando a un recurso retenido por P0.
  • 8.
    Evasión de losInterbloqueos Los algoritmos de prevención de interbloqueos impiden los interbloqueos restringiendo el modo en que pueden hacerse las solicitudes, estas restricciones aseguran que al menos una de las condiciones necesarias para que haya interbloqueo no se produzca y, por tanto no pueda aparecer interbloqueos. Sin embargo, esta técnica de prevención de interbloqueos tiene algún posible efecto colateral, como son una baja tasa de utilización de los dispositivos y un menor rendimiento del sistema. Un posible método para evitar los interbloqueos consiste en requerir información adicional sobre cómo van a hacer solicitados los recursos.
  • 9.
    Detección de Interbloqueos Siun sistema no emplea ni algoritmos de prevención ni de evasión de interbloqueos, entonces puede producirse una situación de interbloqueo en el sistema. En este caso el sistema debe proporcionar: Un algoritmo que Examine el estado del sistema para determinar si se ha producido un interbloqueo. Un algoritmo para recuperarse del interbloqueo.
  • 10.
    Recuperación de Interbloqueo Cuandoel algoritmo de detección determina que existe un interbloqueo, tenemos barias alternativas. Una posibilidad es informar al operador de que se ha producido un interbloqueo y dejar que lo trate de forma manual. Otra forma es dejar que el sistema sea el que haga la recuperación del interbloqueo de forma automática. Existen dos opciones para romper un interbloqueo una de ellas consiste en interrumpir uno o más procesos para romper la cadena de espera circular, La otra consiste en desalojar recursos de uno o más de los procesos bloqueados.