Administración y Estructuras Fundamentales de los Sistemas de Archivos
Gestión de Ficheros
El **sistema de ficheros** permite al usuario, a las aplicaciones y al sistema operativo almacenar y recuperar información de un dispositivo de almacenamiento.
Existen diversos sistemas de archivo como **FAT**, **FAT32**, **NTFS** (asumiendo que MPS y MFS son errores tipográficos o sistemas menos comunes, se sugiere NTFS como estándar moderno, aunque se mantienen los originales por instrucción), y **MFS**.
El sistema de archivos también se encarga de **asignar espacio libre** para almacenar archivos y facilitar accesos rápidos mediante el uso de índices.
Métodos para Indicar el Espacio Disponible
Para gestionar eficientemente el espacio libre en el disco, se emplean varios métodos:
- Mapa de bits (Bitmap): Cada bloque (o unidad de asignación) del disco se representa mediante un bit. Un valor de
0indica que el bloque está libre, y un1indica que está ocupado. - Apuntador de bloques: Se mantiene un puntero que señala directamente al *primer bloque libre* disponible.
- Tabla de bloqueos (o lista de bloques libres): Esta estructura guarda información sobre el primer bloque libre y, a menudo, el número de bloques contiguos disponibles para determinar si un fichero grande puede caber en una sola extensión.
Desfragmentación y Fragmentación
La fragmentación es un problema que surge debido al ordenamiento interno de los datos, donde los archivos se dispersan en el disco.
La desfragmentación es un proceso mediante el cual se reordenan los archivos en el disco duro de tal manera que cada uno quede almacenado de forma contigua, eliminando el espacio no utilizado entre ellos.
Técnicas para Almacenar Espacio
Para almacenar un fichero, primero se comprueba si hay espacio libre y, posteriormente, se asigna el número de bloques necesarios.
Existe una tabla de asignación (generalmente parte de la estructura del sistema de archivos, como la FAT o el inodo) que contiene la siguiente información:
- Nombre del fichero
- Tipo (extensión)
- Localización en el disco (bloques iniciales)
- Propietario (el que lo ha creado)
- Accesos permitidos (permisos)
- Fechas de creación, modificación y último acceso.
Técnicas de Almacenamiento de Ficheros
Las técnicas principales para asignar bloques a un fichero son:
- Asignación de bloques contiguos: El fichero se almacena comenzando en el primer bloque libre encontrado y utilizando los bloques contiguos subsiguientes que necesite.
- Asignación de bloques discontinuos: Es el método más utilizado. Los ficheros se almacenan en bloques que no necesariamente son contiguos en el disco. Un fichero puede ocupar uno o varios bloques, pero en un bloque solo se puede almacenar una parte de un fichero (o un fichero completo si es pequeño).
Formas de Asignación Discontinua
La asignación discontinua se implementa principalmente de dos maneras:
- Asignación Enlazada:
- En la tabla de asignación (o estructura de metadatos), se registra la dirección del primer bloque del fichero.
- Cada bloque contiene la dirección del *siguiente bloque* del mismo fichero.
- Para acceder a un bloque intermedio, es necesario realizar un acceso secuencial a través de todos los bloques previos del fichero.
- Asignación Indexada:
- La tabla de asignación contiene un bloque especial, llamado bloque índice, que almacena las direcciones de todos los bloques que componen el archivo.
- Esto permite un acceso aleatorio más rápido, ya que se puede saltar directamente a cualquier bloque del fichero sin tener que recorrer secuencialmente los anteriores.