En un sistema de archivos de computadora , una bifurcación es un conjunto de datos asociados con un objeto del sistema de archivos. Los sistemas de archivos sin bifurcaciones solo permiten un único conjunto de datos para el contenido, mientras que los sistemas de archivos con bifurcaciones permiten múltiples contenidos de este tipo. Cada archivo que no esté vacío debe tener al menos una bifurcación, a menudo de tipo predeterminado, y dependiendo del sistema de archivos, un archivo puede tener una o más bifurcaciones asociadas, que a su vez pueden contener datos primarios integrales del archivo, o simplemente metadatos. .
A diferencia de los atributos extendidos , una característica similar del sistema de archivos que normalmente tiene un tamaño fijo, las bifurcaciones pueden ser de tamaño variable, posiblemente incluso más grandes que la bifurcación de datos principal del archivo. El tamaño de un archivo es la suma de los tamaños de cada bifurcación.
Los sistemas de archivos populares que pueden usar bifurcaciones incluyen HFS+ de Apple y NTFS de Microsoft .
En sistemas de archivos sin bifurcaciones, se pueden utilizar varios archivos separados que estén asociados entre sí, en particular archivos complementarios para metadatos. Sin embargo, el sistema de archivos no preserva automáticamente la conexión entre estos archivos y, en cambio, debe ser manejada por cada programa que trabaja con archivos. Otra alternativa es un archivo contenedor , que almacena datos adicionales dentro de un formato de archivo determinado, o un archivo de almacenamiento , que permite almacenar varios archivos y metadatos dentro de un archivo (dentro de una única bifurcación). Esto requiere que los programas procesen el archivo contenedor o el archivo comprimido, en lugar de que el sistema de archivos maneje las bifurcaciones. Estas alternativas requieren trabajo adicional por parte de los programas que utilizan los datos, pero se benefician de la portabilidad a sistemas de archivos que no admiten bifurcaciones.
Las bifurcaciones del sistema de archivos están asociadas con el sistema de archivos jerárquico (HFS) de Apple . [1] HFS y el sistema de archivos original de Apple Macintosh, MFS , permitían que un objeto del sistema de archivos tuviera dos tipos de bifurcaciones: una bifurcación de datos y una bifurcación de recursos .
La bifurcación de recursos fue diseñada para almacenar datos no compilados que serían utilizados por la interfaz gráfica de usuario (GUI) del sistema, como cadenas de texto localizables, el ícono de un archivo para ser utilizado por el Finder o los menús y cuadros de diálogo asociados con una aplicación. . [2] Sin embargo, la característica era muy flexible, por lo que se encontraron usos adicionales, como dividir un documento de procesamiento de textos en contenido y presentación, y luego almacenar cada parte en recursos separados. Como el código de software compilado también se almacenaba en un recurso, a menudo las aplicaciones consistirían solo en una bifurcación de recursos y ninguna bifurcación de datos.
Una de las características más oscuras de HFS+ es que un archivo puede tener un número arbitrario de "bifurcaciones con nombre" personalizadas además de las tradicionales bifurcaciones de datos y recursos. Esta característica no se ha utilizado en gran medida, ya que Apple nunca agregó soporte para ella en Mac OS 8.1 - 10.3.9 . A partir de 10.4 , se realizó una implementación parcial para admitir los atributos en línea extendidos de Apple . [3]
En Mac OS X hasta Mac OS X v10.4 , los usuarios que ejecutaban utilidades de línea de comandos de Unix como tar corrían el riesgo de perder datos, ya que las utilidades no se habían actualizado para manejar las bifurcaciones de recursos de archivos. [4]
A partir de 1985, Novell NetWare File System (NWFS) y su sucesor Novell Storage Services (NSS) se diseñaron desde cero para utilizar una variedad de métodos para almacenar los metadatos de un archivo. Algunos metadatos residen en Novell Directory Services (NDS), otros se almacenan en la estructura de directorios del disco y otros se almacenan, como los denomina Novell, en "múltiples flujos de datos" con el archivo mismo. Múltiples flujos de datos también permiten a los clientes Macintosh conectarse y utilizar servidores NetWare .
NTFS , el sistema de archivos introducido con Windows NT 3.1 , admite bifurcaciones del sistema de archivos conocidas como flujos de datos alternativos (ADS). [5] ReFS , un nuevo sistema de archivos introducido con Windows Server 2012 , originalmente no era compatible con ADS, [6] [7] [8] pero en Windows 8.1 de 64 bits y Server 2012 R2, era compatible con ADS, con longitudes de hasta a 128K, se agregó a ReFS. [9]
Originalmente, ADS estaba destinado a agregar compatibilidad con los sistemas operativos existentes que admiten bifurcaciones. [ cita necesaria ] Se puede indicar a un programa de computadora que abra un ADS especificando el nombre del ADS después de un signo de dos puntos (:) después de la ruta del archivo. [10] A pesar del soporte, la mayoría de los programas, incluido Windows Explorer y el comando dir (antes de Windows Vista) ignoran ADS. Windows Explorer copia ADS y advierte cuando el sistema de archivos de destino no los admite, pero solo calcula el tamaño de la secuencia principal y no enumera las secuencias de un archivo o carpeta. Desde Windows Vista , el dir
comando admite mostrar ADS. [11] Windows PowerShell v3.0 y posteriores admiten la manipulación de ADS. [12]
Windows 2000 utiliza ADS para almacenar miniaturas en archivos de imágenes y para almacenar información resumida (como título y autor) en cualquier archivo, sin cambiar la transmisión principal. [13] [14] Con Windows XP , Microsoft se dio cuenta de que ADS es susceptible de perderse cuando los archivos que los contienen se mueven fuera de volúmenes NTFS; por lo tanto, Windows XP los almacena en la transmisión principal siempre que el formato de archivo lo admita. [13] Windows Vista suspendió por completo el soporte para agregar información resumida, ya que Microsoft decidió que son demasiado sensibles para que ADS los maneje. [15] Pero el uso de ADS para otros fines no cesó. Service Pack 2 para Windows XP introdujo el servicio de ejecución de archivos adjuntos que almacena detalles sobre el origen de los archivos descargados en un ADS llamado identificador de zona , en un esfuerzo por proteger a los usuarios de archivos descargados que puedan presentar un riesgo. [16] Internet Explorer y Windows 8 ampliaron esta función a través de SmartScreen . [17] Internet Explorer también utiliza ADS para almacenar favicons en archivos de acceso directo a Internet . [10]
Solaris versión 9 y posteriores permiten que los archivos tengan bifurcaciones. Las bifurcaciones se denominan atributos extendidos en Solaris, aunque no están dentro del significado habitual de " atributo extendido ". El tamaño máximo de un atributo extendido de tipo Solaris es el mismo que el tamaño máximo de un archivo y se leen y escriben de la misma manera que los archivos. Internamente, en realidad se almacenan y se accede a ellos como archivos normales, por lo que su propiedad y permisos pueden diferir de los del archivo principal. Los subdirectorios están administrativamente [ se necesita aclaración ] deshabilitados, por lo que sus nombres no pueden contener caracteres "/".
Los atributos extendidos en Network File System versión 4 son similares a los atributos extendidos de estilo Solaris.
Cuando un sistema de archivos admite diferentes bifurcaciones, las aplicaciones deben conocerlas o pueden surgir riesgos de seguridad. Permitir que el software heredado acceda a los datos sin las correcciones adecuadas es el principal culpable de estos problemas. [ cita necesaria ]
Si las diferentes utilidades del sistema (explorador de discos, software antivirus, archivadores, etc.) no conocen las diferentes bifurcaciones, pueden surgir los siguientes problemas: