¿Cómo se implementa un sistema de archivos?

Para entender este artículo tienes que tener claro lo siguiente:

  • Los discos están divididos en sectores.
  • Cada sector ocupa 512 bytes.
  • La unidad de transferencia o el espacio mínimo que un disco es capaz de leer o escribir es el sector.
  • Un disco o una unidad SSD son dispositivos de acceso aleatorio, es decir, se puede acceder directamente a la información.
  • El tiempo que se tarda en acceder a la información en una unidad SSD es constante mientras que en un disco duro es variable (porque la unidad SSD es totalmente electrónica mientras que el disco duro tiene partes mecánicas).
  • Los sistemas de ficheros para ser más eficientes leen o escriben en los discos bloques que son un múltiplo de sectores. Un bloque es un grupo de sectores y el tamaño del mismo se establecerá de tal manera que el sistema sea lo más rápido y eficiente. Si se elige un bloque muy grande, el sistema puede ser más rápido al leer o escribir un fichero en disco pero por el contrario puede desaprovechar espacio al almacenar bloques en discos medio vacíos.

    SISTEMA_ARCHIVOS

    Como al implementar un sistemas de archivos o ficheros, éste tiene que realizar varias funciones, la mejor implementación es una que respete las capas funcionales. Una implementación tipo podría tener la siguientes capas:

  • Capa lógica. Mantiene los metadatos del sistema. Los metadatos son estructuras que almacenan todo el sistema de directorios almacenados en el disco y otras estructuras con todos los ficheros que contienen los bloques que ocupan cada fichero en el disco (estas últimas estructuras se llaman inodos). Esta capa lógica es totalmente independiente de cómo sea internamente el disco (disco duro, unidad SSD, etc.).
  • Capa de control de bloques de ficheros. Esta capa se encarga de traducir los bloques lógicos en bloques físicos (un bloque físico es una agrupación de sectores).
  • Capa de comandos básicos. Esta capa tiene una serie de rutinas básicas que permitirán a las capas superiores realizar lecturas y escrituras al dispositivo físico.
  • Capa de driver. Esta capa es totalmente dependiente del dispositivo. Controla la entrada/salida física. Se encarga de las transferencias de bloques desde el disco y hacia el disco.
  • Deja una respuesta

    Tu dirección de correo electrónico no será publicada.

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.