En informática , una extensión es un área contigua de almacenamiento 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. El beneficio directo está 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 da como resultado una menor fragmentación de archivos .
Los sistemas de archivos basados en extensión también pueden eliminar la mayor parte de la sobrecarga de metadatos de archivos grandes que tradicionalmente se absorbería en el árbol de asignación de bloques. Pero como los ahorros son pequeños en comparación con la cantidad de datos almacenados (para todos los tamaños de archivo en general) pero constituyen una gran parte de los metadatos (para archivos grandes), los beneficios generales en eficiencia y rendimiento del almacenamiento son leves. [2]
Para resistir la fragmentación, varios sistemas de archivos basados en extensiones realizan la asignación al vaciar . Muchos sistemas de archivos modernos tolerantes a fallos también realizan la copia al escribir , aunque eso aumenta la fragmentación. Como diseño similar, el sistema de archivos CP/M también utiliza extensiones, pero estas no corresponden a la definición dada anteriormente. Las extensiones de CP/M aparecen contiguas como un solo 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últiples pistas de disco o cilindros . Originalmente, los archivos podían tener hasta 16 extensiones, pero esta restricción se ha eliminado. El tamaño de asignación inicial y el tamaño de las extensiones adicionales que se asignarán si es necesario son especificados por el usuario a través del lenguaje de control de trabajos . El sistema intenta asignar el tamaño inicial como un área contigua, aunque se puede dividir si no hay espacio contiguo disponible.
Adopción
Los sistemas que admiten extensiones de sistemas 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 extensión para Linux
- EFS – Extent File System: el sistema de archivos de primera generación de SGI para Irix
- Ext4 – Sistema de archivos Linux (cuando la configuración habilita extensiones, el valor predeterminado 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 (JFS) utilizado por los sistemas operativos AIX , OS/2 /eComStation/ArcaOS y Linux
- ISO 9660 – Sistema de archivos basado en extensión para medios de discos ópticos
- Microsoft SQL Server : las versiones 2000 a 2008 admiten extensiones de hasta 64 KB [3]
- Multi-Programming Executive : un sistema de archivos de Hewlett-Packard
- Sistema operativo NTFS
- OCFS2 – Oracle Cluster File System: un sistema de archivos de disco compartido para Linux
- Reiser4 – Sistema de archivos Linux (en modo "extensiones")
- SINTRAN III : sistema de archivos utilizado por la empresa de informática Norsk Data
- UDF – Formato de disco universal – estándar para medios ópticos
- Sistema de archivos VERITAS : habilitado a través de la API y la CLI de preasignación
- XFS : el sistema de archivos de segunda generación de SGI para Irix y Linux
Véase también
Referencias
- ^ "Entendiendo Ext4 (parte 1): extensiones". 2010-12-20. Archivado desde el original el 2015-02-03 . Consultado el 2015-02-02 .
Sin embargo, lo que realmente marca una diferencia en EXT4 es el uso de extensiones en lugar del antiguo e ineficiente mecanismo de bloque indirecto 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 la cantidad de bloques que componen la extensión. Un archivo fragmentado tendrá múltiples extensiones, pero EXT4 se esfuerza mucho por mantener los archivos contiguos.
- ^ "Diseño de disco Ext4". 26 de enero de 2015. Consultado el 2 de febrero de 2015.
Si se habilita flex_bg, es posible asignar archivos muy grandes con una sola extensión, con una reducción considerable en el uso de bloques de metadatos y una cierta mejora en la eficiencia del disco.
- ^ "Descripción de páginas y extensiones". Microsoft Developer Network . Consultado el 14 de agosto de 2014 .
Enlaces externos
- Conozca 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