En informática , una extensión es un área de almacenamiento contigua reservada para un archivo en un sistema de archivos , representada como un rango de números de bloque o pistas en dispositivos de datos de clave de conteo . Un archivo puede constar de cero o más extensiones; un fragmento de archivo requiere una extensión. La ventaja directa radica en almacenar cada rango de forma compacta como dos números, en lugar de almacenar canónicamente cada número de bloque en el rango. [ 1 ] Además, la asignación de extensiones resulta en una menor fragmentación de archivos .
Los sistemas de archivos basados en extensiones también pueden eliminar la mayor parte de la sobrecarga de metadatos de los archivos grandes que tradicionalmente ocuparía el árbol de asignación de bloques. Pero debido a que el ahorro es pequeño en comparación con la cantidad de datos almacenados (para todos los tamaños de archivo en general) pero constituye una gran parte de los metadatos (para archivos grandes), los beneficios generales en eficiencia y rendimiento del almacenamiento son escasos. [ 2 ]
Para evitar la fragmentación, varios sistemas de archivos basados en extensiones utilizan la asignación al vaciar el búfer . Muchos sistemas de archivos modernos tolerantes a fallos también utilizan la copia al escribir , aunque esto aumenta la fragmentación. Con un diseño similar, el sistema de archivos CP/M también utiliza extensiones, pero estas no se corresponden con la definición anterior. Las extensiones de CP/M aparecen de forma contigua como un único bloque en la tabla combinada de directorio/asignación, y no necesariamente corresponden a un área de datos contigua en el disco.
IBM OS/360 y sus sucesores asignan archivos en múltiplos de pistas o cilindros de disco . Originalmente, los archivos podían tener hasta 16 extensiones, pero esta restricción se eliminó posteriormente. El usuario especifica el tamaño de asignación inicial, así como el tamaño de las extensiones adicionales que se asignarán si es necesario, mediante el lenguaje de control de trabajos . El sistema intenta asignar el tamaño inicial como un área contigua, aunque esta puede dividirse si no hay espacio contiguo disponible.
Adopción
Los sistemas que admiten extensiones del sistema de archivos incluyen los siguientes:
- APFS – Sistema de archivos de Apple
- ASM – Automatic Storage Management – El sistema de archivos orientado a bases de datos de Oracle
- BFS : sistemas operativos BeOS , Zeta y Haiku
- Btrfs : sistema de archivos de copia en escritura (COW) basado en extensiones para Linux
- EFS – Extent File System – El sistema de archivos de primera generación de SGI para IRIX
- ext4 – Sistema de archivos de Linux (cuando la configuración habilita las extensiones , que es la opción predeterminada en Linux desde la versión 2.6.23)
- Archivos-11 – Sistema de archivos OpenVMS
- HFS y HFS Plus – Sistema de archivos jerárquico – Sistemas de archivos de Apple Macintosh
- Sistema de archivos de alto rendimiento (HPFS) – en OS/2 , eComStation y ArcaOS
- IceFS – IceFileSystem – sistema de archivos opcional para MorphOS
- JFS – Sistema de archivos con registro por diario – utilizado por los sistemas operativos AIX , OS/2 , eComStation, ArcaOS y Linux.
- ISO 9660 – Sistema de archivos basado en extensiones para soportes de discos ópticos
- Sistema de archivos MPE : el sistema de archivos del sistema operativo Multi-Programming Executive .
- NTFS – utilizado por Windows
- OCFS2 – Oracle Cluster File System – un sistema de archivos de disco compartido para Linux
- Reiser4 – Sistema de archivos Linux (en modo "extensions")
- SINTRAN III : sistema de archivos utilizado por la empresa informática Norsk Data en sus inicios.
- UDF – Formato de disco universal – estándar para medios ópticos
- Sistema de archivos VERITAS : habilitado mediante la API de preasignación y la CLI.
- XFS : el sistema de archivos de segunda generación de SGI para IRIX y Linux.
La adopción fuera de los sistemas de archivos incluye lo siguiente:
- Microsoft SQL Server : las versiones admiten extensiones de 64 KB que constan de ocho páginas de 8 KB. [ 3 ]
- Oracle Database agrupa los bloques en extensiones y las extensiones en segmentos. [ 4 ]
Véase también
Referencias
- ↑ "Understanding Ext4 (part1): Extents" . 2010-12-20. Archivado del original el 2015-02-03 . Recuperado el 2015-02-02 .
Sin embargo, lo que realmente marca la diferencia en EXT4 es el uso de extensiones en lugar del antiguo e ineficiente mecanismo de bloques indirectos utilizado por los sistemas de archivos Unix anteriores (por ejemplo, EXT2 y EXT3) para rastrear el contenido de los archivos. Las extensiones son similares a las ejecuciones de clúster en el sistema de archivos NTFS; esencialmente, especifican una dirección de bloque inicial y el número de bloques que componen la extensión. Un archivo que está fragmentado tendrá múltiples extensiones, pero EXT4 se esfuerza mucho por mantener los archivos contiguos.
- ↑ "Diseño de disco Ext4" . 26/01/2015 . Consultado el 02/02/2015 .
Si flex_bg está habilitado, es posible asignar archivos muy grandes con una sola extensión, con una reducción considerable en el uso de bloques de metadatos y cierta mejora en la eficiencia del disco.
- ↑ "Guía de arquitectura de páginas y extensiones - SQL Server" . learn.microsoft.com . Microsoft. 12 de junio de 2024. Consultado el 18 de diciembre de 2024 .
- ↑ "Arquitectura técnica de Oracle Database 23ai" . docs.oracle.com . Oracle Corporation . Consultado el 18 de diciembre de 2024 .
Enlaces externos
- Familiarizándonos con el sistema de archivos Solaris, Parte 1 : Estrategia de asignación y almacenamiento : una comparación entre la asignación basada en bloques y la basada en extensiones.
- Sistemas de archivos informáticos