INTERBLOQUEOS
by Chio Reyes
1. RECURSOS
1.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). Por lo general, una computadora tendrá muchos recursos que se pueden adquirir. Para algunos recursos puede haber disponibles varias instancias idénticas, como tres unidades de cinta.
2. Adquisición de recursos
2.1. Para ciertos tipos de recursos, como los registros de una base de datos, es responsabilidad de los procesos de usuario administrar su uso. Una manera de permitir que los usuarios administren los recursos es asociar un semáforo con cada recurso.
3. Deteccion y Recuperacion de un Interbloqueo
3.1. Una segunda técnica es la detección y recuperación. Cuando se utiliza esta técnica, el sistema no trata de evitar los interbloqueos. En vez de ello, intenta detectarlos cuando ocurran y luego realiza cierta acción para recuperarse después del hecho.
4. Detección del interbloqueo con varios recursos de cada tipo
4.1. Cuando existen varias copias de algunos de los recursos, se necesita un método distinto para detectar interbloqueos.
5. Como Evitar Interbloqueos
5.1. En nuestro análisis de detección de interbloqueos hicimos la suposición de que cuando un proceso pide recursos, los pide todos a la vez (la matriz R de la figura 6-6). Sin embargo, en la mayoría de los sistemas los recursos se solicitan uno a la vez. El sistema debe ser capaz de decidir si es seguro otorgar un recurso o si no lo es, y realizar la asignación sólo cuando sea seguro.
6. Condiciones para los interbloqueos de recursos
6.1. deben aplicarse cuatro condiciones para un interbloqueo
6.1.1. 1. Condición de exclusión mutua. Cada recurso se asigna en un momento dado a sólo un proceso, o está disponible.
6.1.2. 2. Condición de contención y espera. Los procesos que actualmente contienen recursos que se les otorgaron antes pueden solicitar nuevos recursos.
6.1.3. 3. Condición no apropiativa. Los recursos otorgados previamente no se pueden quitar a un proceso por la fuerza. Deben ser liberados de manera explícita por el proceso que los contiene.
6.1.4. 4. Condición de espera circular. Debe haber una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso contenido por el siguiente miembro de la cadena.