Estrategias de Asignación y Control de Espacio en Subsistemas de Archivos

Enviado por Comunidad Xuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,26 KB

Gestión del Almacenamiento en el Subsistema de Archivos

Cuando un usuario desea crear un archivo, el subsistema debe asignarle el espacio necesario para que pueda almacenar su información. Ese espacio lo obtendrá del total disponible en ese momento. Cuando el usuario ya no necesite su archivo, lo borrará. Entonces, el subsistema añadirá el espacio liberado al total disponible, para poder utilizarlo en posteriores peticiones.

Esta gestión del espacio de almacenamiento la realiza el subsistema de archivos, persiguiendo dos objetivos fundamentales:

  1. Utilizar eficazmente el espacio de almacenamiento.
  2. Posibilitar un acceso rápido a la información almacenada.

Control del Espacio Disponible

Existen diversas estrategias para mantener el control del espacio libre en los dispositivos de almacenamiento:

Primera Estrategia: Mapa de Bits

Consiste en mantener un mapa de bits por dispositivo, en el que cada uno de los bloques del disco está representado por 1 bit, cuyo valor indica su estado (ocupado / libre).

Problemas del Mapa de Bits
  • Es ineficiente si el vector entero no está en memoria principal.
  • Si el disco es muy grande, el mapa de bits completo no puede residir en memoria principal.

Segunda Estrategia: Lista Enlazada de Bloques Libres

Mantener en el subsistema un apuntador al primer bloque (sector) libre del disco, de forma que este apuntará al siguiente y así sucesivamente.

Esta solución no es eficiente, ya que el mantenimiento de los apuntadores consume mucho espacio y provoca un gran número de operaciones de Entrada/Salida (E/S).

Tercera Estrategia: Tabla de Grupos de Bloques Libres (La más Extendida)

La solución más extendida parte de la consideración de que el espacio se asigna y se libera, generalmente, en grupos de bloques contiguos. Por ello, se mantiene en cada disco una tabla de grupos de bloques libres.

Esta tabla contiene:

  • La dirección del primer bloque de cada grupo.
  • El número de bloques del grupo.

Directorio de Dispositivo

El sistema mantiene en cada disco un espacio reservado donde guarda información relativa al espacio libre y a los archivos existentes en el mismo, que recibe el nombre de directorio. Lo creará el sistema en cada disco al formatearlo o inicializarlo.

La estructura de este directorio la define cada Sistema Operativo (SO), y por ello el intercambio de dispositivos de almacenamiento entre computadoras queda condicionado por la compatibilidad de los sistemas utilizados.

Información Registrada en las Entradas de Archivo

En las entradas de archivo, el subsistema registra la información necesaria para su gestión:

  • Nombre de Archivo
  • Tipo de Archivo
  • Localización en el disco
  • Tamaño
  • Protección: Lista de accesos permitidos.
  • Contabilidad: Fecha de creación, propietario, etc.
  • Contadores: De uso, de posición, etc.

Asignación del Espacio

Ante una petición para crear un archivo de N bloques, el sistema deberá comprobar si existe suficiente espacio disponible y a continuación podrá optar por dos estrategias principales:

  • Asignar N bloques contiguos.
  • Almacenar el archivo en trozos no contiguos.

Asignación Contigua

Se coloca cada archivo en un grupo de bloques contiguos del disco. Cada entrada del directorio del disco contendrá, además del nombre del archivo y otros datos, la dirección del bloque inicial del archivo y el número de bloques que ocupa.

El acceso al bloque N+1 desde el bloque N no exigirá, en la mayoría de los casos, movimiento del brazo del disco. Si el acceso a un archivo se hace de forma secuencial, el tiempo de búsqueda será prácticamente nulo.

Inconvenientes de la Asignación Contigua
  • Fragmentación Externa: Puede que, en un momento dado, haya espacio total para alojar un archivo, pero que no exista un hueco lo bastante grande y contiguo.
  • Tener que conocer por anticipado el tamaño exacto del archivo.