Bloqueos y Condiciones Necesarias Para el Bloqueo
- Solicitar el recurso.
- Utilizar el recurso.
- 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