Gestión de Recursos e Interbloqueos en Sistemas Operativos
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,77 KB
Recursos en Sistemas Operativos
Un recurso es cualquier cosa que solo puede ser utilizada por un único proceso en un instante dado.
Tipos de Recursos
Físicos
Ciclos de CPU, espacio en memoria, dispositivos de E/S.
Lógicos
Ficheros, tablas del sistema, semáforos.
Recursos por su Asignación
Apropiable (Preemptible)
Es aquel que se puede tomar del proceso que lo posee sin efectos dañinos.
No Apropiable (Non-preemptible)
Es aquel que no se puede tomar de su poseedor activo sin provocar un fallo de cálculo.
Secuencia de Eventos para Utilizar un Recurso
La secuencia típica es:
- Solicitar el recurso.
- Utilizar el recurso.
- Liberar el recurso.
Interbloqueo (Deadlock)
Un conjunto de procesos se encuentra en estado de interbloqueo cuando cada uno de ellos espera un suceso que solo puede originar otro proceso del mismo conjunto.
Condiciones para que Ocurra un Interbloqueo
Para que se produzca un interbloqueo, deben darse simultáneamente las siguientes cuatro condiciones:
Exclusión Mutua
Cada recurso está asignado a un único proceso o está disponible.
Retención y Espera (Hold and Wait)
Los procesos que tienen en un momento dado recursos asignados con anterioridad pueden solicitar nuevos recursos.
No Apropiabilidad (No Preemption)
Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explícita.
Espera Circular (Circular Wait)
Debe existir una cadena circular de dos o más procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena.
Manejo del Interbloqueo
Prevención del Interbloqueo
Consiste en diseñar un sistema de manera que esté excluida, a priori, la posibilidad de interbloqueo. Esto se logra negando una o más de las cuatro condiciones necesarias.
Consideración sobre la Negación de la Exclusión Mutua
Si ningún recurso se puede asignar de forma exclusiva, no se producirá interbloqueo. Sin embargo, existen recursos para los que no es posible negar la condición de exclusión mutua, pues la propia naturaleza de los mismos obliga a que sean utilizados en exclusión mutua.
Ejemplo Relacionado con Prevención (Algoritmo del Banquero)
Se realiza por medio de una restricción en la asignación de los procesos para tratar de buscar estados seguros. Conceptos clave incluyen:
DISPONIBLE[M]
MAX[N,M]
ASIGNACION[N,M]
NECESITO[N,M]
Detección de Interbloqueo
Es el proceso de determinar si realmente existe un interbloqueo e identificar los procesos y recursos implicados en él.
Recuperación del Interbloqueo
Se suele realizar eliminando un proceso y quitándole sus recursos. El proceso eliminado se pierde, pero gracias a esto es posible resolver el interbloqueo y permitir que otros procesos continúen.
Métodos de Recuperación
Eliminación de Procesos (Manual o Automática)
Consiste en avisar al administrador del sistema que se ha presentado un interbloqueo, y será el administrador el que solucione dicho problema de la manera más conveniente posible, de modo que su decisión no afecte demasiado al usuario del proceso en conflicto y a los demás usuarios del sistema.
Apropiación de Recursos
Se van quitando sucesivamente recursos de los procesos y se asignan a otros hasta romper el ciclo de interbloqueo.