Sistemas de ficheros/Conceptos básicos
Antes de intentar comprender los sistemas de ficheros en si, es necesario entender algunos conceptos básicos sobre la materia.
Sistema de ficheros
editarConjunto de algoritmos y estructuras auxiliares que nos van a permitir de manera sencilla y transparente acceder nuestros datos en dispositivos de almacenamiento (por ejemplo: un disco duro, un cdrom, un disquete, un pendrive, etcétera).
Sector
editarUnidad de almacenamiento en disco. Es el tamaño real en que el disco almacena los datos. No se pueden realizar lecturas o escrituras en un disco menores de este tamaño (normalmente 512 bytes).
Bloque/Clúster
editarUnidad de almacenamiento del sistema de ficheros. Es el tamaño lógico con el que trabaja el sistema de ficheros. No se pueden realizar lecturas o escrituras en un sistema de ficheros menores de este tamaño. El tamaño de bloque o clúster es configurable en la mayoria de los sistemas de ficheros. Bloques o clusters grandes dan un mejor rendimiento para ficheros de gran tamaño, pero desperdician mucho espacio para ficheros de pequeño tamaño.
Inodo
editarEstructura de datos que almacena información sobre un objeto del sistema de ficheros (por ejemplo: un fichero regular, un enlace, un directorio, etcétera). Dependiendo del sistema de ficheros la información almacenada en los inodos sera diferente, pero la finalidad sera siempre la misma, representar un elemento de nuestro sistema de ficheros.
FAT
editarEs una estructura que almacena información sobre el estado de los clústers en los sitemas de tipo FAT.
Sector de arranque
editarZona del dispositivo/partición reservada para el arranque del sistema operativo. Normalmente se reserva al principio un espacio para el sector de arranque, pero hay casos especiales como NTFS que guarda además un copia de seguridad del mismo o XFS que no incorpora este espacio para arranque.
SuperBloque
editarEstructura de datos que almacena información sobre todo el sistema de ficheros. Nos da información global sobre todo el sistema de ficheros ademas de contener información imprescindible para su correcto funcionamiento.
Trashing
editarIneficiencia producida en un sistema de ficheros debido al excesivo movimiento de los cabezales del disco duro.
Journaling (Bitacora)
editarSistema de control de las operaciones del sistema de ficheros. Al poner en marcha el sistema de ficheros, deshace las operaciones que no hubieran sido completadas para evitar problemas de coherencia en caso de que la partición o dispositivo haya sido desconectada incorrectamente.
Permisos POSIX
editarSistema de permisos estandar en sistemas Unix. Divide los permisos de cada fichero en tres niveles, dueño, grupo y resto, aplicandole a cada usuario el nivel correspondiente. Para cada nivel existen 3 tipos de permiso, lectura, escritura y ejecucion.
ACL's (Listas de control de acceso)
editarListas de Control de Acceso, nos permiten establecer permisos con una precicion mayor. Nos van a permitir establecer los permisos de un objeto a un usuario para una acción.
Extents
editarUna referencia a un conjunto de datos especifiando direccion y número de bytes. Nos va a permitir representar conjuntos muy grandes de datos con entradas poco mayores que una direccion, en cambio, con direcciones de memoria, es necesario una direccion por bloque.
VFS
editarCapa de abstracción del kernel Linux para los sistemas de ficheros. El kernel de linux nos da esta capa de abstración para hacer mas fácil y mas óptimo el acceso a disco. Integra sus propios buffers de lectura y escritura y algunas otras funcionalidades interesantes.
Enlace
editarUn enlace es a ojos de los usuarios un fichero normal y corriente, pero a ojos del sistema operativo es un apuntador a otro fichero. Dicho de otro modo, cuando accedemos a un enlace, estamos accediendo a un fichero que se encuentra en otro lugar. Existen dos tipos de enlaces: duros y blandos. Un enlace duro es realmente el fichero apuntado. Esto es, no apunta al otro fichero, sino que es el mismo fichero, pero puede que con otro nombre. Un enlace blando en un apuntador; es un fichero que almacena la ruta del fichero apuntado. El uso de enlaces es transparente al usuario. Los accesos directos de los sistemas MS Windows son similares a los enlaces en otros sistemas de ficheros.