Un sistema de archivos de extensión (EFS) es un método para administrar archivos y memoria en un disco duro de computadora u otro dispositivo de almacenamiento físico que usa una serie de áreas contiguas de memoria para almacenar información en lugar de usar unidades más pequeñas y dispersas conocidas como bloques. Algunos sistemas de archivos asignan el espacio necesario para los archivos en pequeñas unidades conocidas como bloques, lo que puede llevar a que un solo archivo de longitud media se esparza físicamente por un disco, lo que reduce la velocidad y la eficiencia de lectura de ese archivo. En el caso de un sistema de archivos de extensión, todos los bloques más pequeños se unen en una estructura más grande conocida como extensión, lo que significa que los archivos más grandes se pueden almacenar en una única ubicación contigua en el disco físico, aumentando la velocidad de la unidad cuando leyendo de ese archivo. Aunque muchos sistemas operativos admiten el uso de extensiones, el término originalmente se aplicó al sistema de archivos de extensión inicial específico del sistema operativo tipo Unix ahora descontinuado conocido como IRIX®, desarrollado por Silicon Graphics®.
Los bits y bytes individuales de un disco físico, como un disco duro o un disco compacto (CD), se dividen en grupos según el hardware, el sistema operativo y el sistema de archivos. Estos se conocen como agrupaciones lógicas, porque no necesariamente tienen límites físicos, solo aquellos que son impuestos por el sistema. Para varios sistemas de archivos, la agrupación lógica conocida como bloques se utiliza como la cantidad básica de espacio que se puede asignar para almacenar un archivo. Un bloque se puede configurar en cualquier tamaño, pero generalmente es muy pequeño, a veces consta de tan solo 128 bytes de espacio.
Un sistema de archivos de extensión agrupa bloques en un disco si son contiguos, lo que significa que todos están físicamente uno al lado del otro en un disco. Esta colección de bloques se conoce como extensión. En un sistema de archivos de extensión, cuando un archivo se escribe en un disco físico, se asigna una extensión en lugar de bloques individuales. La ventaja de usar extensiones en lugar de bloques es que los archivos grandes requieren menos gastos generales para crear y mantener, y el riesgo de fragmentación se reduce en gran medida, aunque no necesariamente se elimina.
La fragmentación de archivos se produce cuando un archivo requiere más espacio del que puede proporcionar cualquier bloque o extensión disponible, lo que significa que el archivo debe dividirse y ocupar dos o más espacios físicamente diferentes en un disco. Con bloques pequeños, los archivos grandes pueden ocupar cientos o miles de bloques en todo un disco, lo que reduce la velocidad a la que se puede acceder al archivo. Un sistema de archivos de extensión permite dividir un archivo grande en diferentes extensiones, conocidas como extensiones indirectas, aunque el número de extensiones que se requieren generalmente es menor que si el archivo se asignara utilizando bloques más pequeños.
Además de reducir la cantidad de sobrecarga necesaria para archivos grandes, debido a que la información sobre una única extensión debe almacenarse en el sistema de archivos en lugar de múltiples punteros a diferentes bloques, el uso de extensiones también puede extender la vida útil de algunos hardware de almacenamiento. Esto puede ocurrir porque los archivos contiguos requieren menos movimiento del mecanismo del cabezal de lectura de la unidad de disco para acceder a la información. Un sistema de archivos de extensión también permite la creación de archivos únicos que pueden tener una longitud de terabytes o más, porque, en algunos casos, una extensión puede ocupar teóricamente todo el espacio físico disponible sin la necesidad de crear tablas extensas u otros gastos generales para la administración.