sábado, 7 de mayo de 2011

tema 02 - Bloqueos



Bloqueos y Condiciones Necesarias Para el Bloqueo

La secuencia de eventos necesarios para utilizar un recurso es la siguiente
  1. Solicitar el recurso.
  2. Utilizar el recurso.
  3. Liberar el recurso.
Si el recurso no está disponible cuando se lo solicita:
  • El proceso solicitante debe esperar.
  • En algunos S. O. el proceso se bloquea automáticamente y se despierta cuando dicho recurso está disponible.
  • En otros S. O. la solicitud falla y el proceso debe esperar para luego intentar nuevamente.
Un bloqueo se puede definir formalmente como sigue:
  • Un conjunto de procesos se bloquea si cada proceso del conjunto espera un evento que solo puede ser provocado por otro proceso del conjunto
    • Ya que todos los procesos están esperando:
      • Ninguno realizará un evento que pueda despertar a los demás miembros del conjunto.
      • Todos los procesos esperarán por siempre.
    • Generalmente el evento que espera cada proceso es la liberación de cierto recurso que posee por el momento otro miembro del conjunto:
      • Cada miembro del conjunto de procesos bloqueados espera un recurso poseído por un proceso bloqueado.
      • Ninguno de los procesos bloqueados puede continuar su ejecución, ni liberar recursos, ni puede ser despertado.
Las condiciones necesarias para el bloqueo son (Coffman)
  • Los procesos reclaman control exclusivo de los recursos que piden (condición de exclusión mutua).
  • Los procesos mantienen los recursos que ya les han sido asignados mientras esperan por recursos adicionales (condición de espera por).
  • Los recursos no pueden ser extraídos de los procesos que los tienen hasta su completa utilización (condición de no apropiatividad).
  • 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 (condición de es

No hay comentarios:

Publicar un comentario