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:

  1. Solicitar el recurso.
  2. Utilizar el recurso.
  3. 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.

Entradas relacionadas: