1. Sistemas Operativos 1
1.1. Tema del siguiente nivel
2. Craedo por Darling Varela
2.1. Tema del siguiente nivel
3. Como evitar interbloques
3.1. En esta sección examinaremos las formas de evitar el interbloqueo mediante una asignación cuidadosa de los recursos.
3.2. Trayectoria de los recursos
3.2.1. Los principales algoritmos para evitar interbloqueos se basan en el concepto de losestados seguros
3.2.2. Estados seguros e inseguros
3.2.2.1. Estado seguro: Se dice que hay cierto orden de programación en el que se puede ejecutar cada proceso hasta completarse, la diferencia entre un estado seguro e inseguro es que desde un estado seguro el sistema puede organizar que todos los procesos terminarán: desde un estado inseguro, no se puede dar esa garantía.
4. Como prevenir interbloques
4.1. Los interbloqueos es algo en esencia imposible, debido a que se requiere información sobre las peticiones futuras, que no se conocen. Si podemos asegurar que por lo menos una de estas condiciones nunca se cumpla, entonces los interbloqueos serán estructuralmente imposibles.
4.2. Como atacar la exclusión de exclusión mutua
4.2.1. Primero vamos atacar la condición de exclusión mutua. Sin ningún recurso se asignara de manera exclusiva a un solo proceso, nunca tendríamos interbloqueos.
4.2.2. Como atacar la condicion de contencion y espera
4.2.2.1. Una manera ligeramente distinta de romper la condición de contención y espera es requerir que un proceso que solicita un recurso libere temporalmente todos los recursos que contienen en un momento dado. Después puede tratar de obtener todo lo que necesita a la vez.
4.2.2.1.1. Como atacar la condicion no apropiada
5. Detencion y recuperacion de un interbloqueo
5.1. En esta sección analizaremos algunas de las formas en que se pueden determinar los interbloqueos, y ciertas maneras en que se puede llevar a cabo una recuperación de los mismos.
5.1.1. Detencion de interbloques con un recurso de cada tipo
5.1.1.1. Aunque es relevante fácil distinguir los procesos en interbloqueo a simple vista a partir de un sencillo grafico, para usar este método en sistemas reales necesitamos un algoritmo formal para la detención de interbloqueos.
6. Otras cuestiones
6.1. En esta sección analizaremos varias cuestiones relacionadas con los interbloqueos. Estas incluyen el bloqueo de dos fases, los interbloqueos sin recursos y la inanición. La inanición es un problema relacionado con los sistemas multitarea.
6.1.1. Bloqueo de dos fases
6.1.1.1. Este método es similar a solicitar todos los recursos que se necesita de antemano, o al menos antes de realizar algo irreversible. El algoritmo funciona solo en aquellas situaciones en donde el programador ha ordenado las cosas con mucho cuidado.
6.1.1.1.1. Interbloques de comunicaciones
6.2. Introducción a los interbloques
6.2.1. El interbloqueo se puede definir formalmente de la siguiente manera: Un conjunto de procesos se encuentra en un interbloqueo si cada proceso en el conjunto está esperando un evento que solo puede ser ocasionado por otro proceso en el conjunto.
6.2.2. Condiciones para los interbloques de recursos
6.2.2.1. Se deben aplicar cuatro condiciones para un interbloqueo y son: 1. Condición de exclusión mutua. 2. Condición de contención y espera. 3. Condición no apropiada. 4. Condición de espera circular.
6.2.3. Modelo de interbloques
6.2.3.1. En general, se utilizan cuatro estrategias para lidiar con los interbloqueos: 1. Solo ignorar el problema. 2. Detección y recuperación. 3. Evitar en forma dinámica mediante la asignación cuidadosa de los recursos. 4. Prevención.
6.3. Recursos
6.3.1. Un recurso puede ser un dispositivo de hardware(por ejemplo, una unidad de cinta) o una pieza de información(como un registro bloqueado en una base de datos).
6.3.2. Recursos apropiativos y no apropiativos
6.3.2.1. Un recurso apropiativo: Es uno que se puede quitar al proceso que lo posee sin efectos dañinos. Un recurso no apropiativo: Es uno que se puede quitar a su propietario actual sin hacer que el computo falle.
6.3.3. Adquision de Recursos
6.3.3.1. Una manera de permitir que los usuarios administren los recursos es asociar su semáforo con cada recurso. Algunas veces los procesos necesitan dos o mas recursos. Se pueden adquirir de manera secuencial