Bloqueo mutuo en sistemas operativos: condiciones y estrategias de manejo
Resumen
El texto explica qué es un bloqueo mutuo (deadlock) entre procesos y las cuatro condiciones necesarias para que ocurra. Después describe las formas de manejarlo: ignorarlo, detectarlo y recuperarse, evitarlo mediante evasión o prevenirlo atacando cada una de esas condiciones. El estudiante aprenderá a identificar un bloqueo y a elegir una estrategia adecuada.
Puntos clave
- Hay bloqueo mutuo cuando cada proceso de un conjunto espera un evento que solo otro proceso del mismo conjunto puede causar.
- Las cuatro condiciones necesarias son exclusión mutua, retener y esperar, no apropiación y espera circular.
- La detección y recuperación vigila las peticiones y liberaciones de recursos y termina procesos para romper los ciclos del grafo de recursos.
- La evasión de bloqueos necesita información previa sobre qué recursos requiere cada proceso, para decidir qué flujos son seguros.
- La prevención consiste en atacar una de las condiciones necesarias: poner todo en spool, solicitar todos los recursos al inicio, quitar recursos u ordenarlos numéricamente.
"Un conjunto de procesos está en bloqueo mutuo si cada proceso del conjunto está esperando un evento que sólo otro proceso del conjunto puede causar"
Condiciones necesarias para el bloqueo mutuo
- Condición de exclusión mutua: Cada recurso está asignado únicamente a un solo proceso.
- Condición de retener y esperar: Debe existir al menos un proceso que esté haciendo uso de un recurso y que esté esperando por otros recursos asignados a otros procesos.
- Condición de no apropiació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 explícitamente.
- 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.
Formas de manejar un bloqueo
- Hacer caso omiso del problema (Algoritmo del avestruz): Ignorar la posibilidad de que ocurra el bloqueo.
- Detección y recuperación: Cuando se usa esta técnica, el sistema no hace otra cosa que no sea vigilar las peticiones y liberaciones de recursos. Cada vez que un recurso se solicita o libera, se actualiza el grafo de recursos y se determina si contiene algún ciclo. Si se encuentra uno, se termina uno de los procesos del ciclo. Si esto no rompe el bloqueo mutuo, se termina otro proceso, continuando así hasta romper el ciclo. Un método un tanto más tosco consiste en no mantener siquiera el grafo de recursos y, en vez de ello, verificar periódicamente si hay procesos que hayan estado bloqueados continuamente durante más de, digamos, una hora. A continuación, se terminan esos procesos.
- Evasión de bloqueos: Para la evasión de bloqueos, el sistema partiría de poseer información acerca de cuándo requiere un proceso utilizar cada recurso. De este modo, el planificador puede marcar qué flujos entre dos (o más) procesos son seguros y cuáles son inseguros.
- Prevención: Consiste en atacar las condiciones necesarias para que el bloqueo ocurra:
Estrategias de prevención
- Condición de exclusión mutua: Estrategia: poner todo en spool.
- Condición de retener y esperar: Estrategia: solicitar inicialmente todos los recursos.
- Condición de no expropiación: Estrategia: quitar los recursos.
- Condición de espera circular: Estrategia: ordenar recursos numéricamente.
Descargar
PDF Word HTMLPreguntas frecuentes
¿Qué es un bloqueo mutuo en un sistema operativo?
Es una situación en la que un conjunto de procesos está bloqueado porque cada uno espera un evento que solo otro proceso del mismo conjunto puede causar.
¿Cuáles son las condiciones necesarias para que se produzca un bloqueo mutuo?
Son la exclusión mutua, retener y esperar, no apropiación y espera circular. Deben darse todas a la vez.
¿Qué estrategia consiste en ordenar los recursos numéricamente?
Es la estrategia de prevención que ataca la condición de espera circular, evitando que se forme una cadena circular de procesos esperando recursos.
Ponte a prueba
Tarjetas de repaso
Pulsa una tarjeta para ver la respuesta.
Test
Preguntas generadas con IA a partir del documento: comprueba las respuestas con el texto.