En un sistema de fitxers informàtic, una bifurcació és un conjunt de dades associades a un objecte del sistema de fitxers. Els sistemes de fitxers sense bifurcacions només permeten un únic conjunt de dades per als continguts, mentre que els sistemes de fitxers amb bifurcacions permeten múltiples d'aquests continguts. Cada fitxer no buit ha de tenir almenys una bifurcació, sovint de tipus predeterminat, i, depenent del sistema de fitxers, un fitxer pot tenir una o més altres bifurcacions associades, que al seu torn poden contenir dades primàries integrals al fitxer o només metadades.

A diferència dels atributs ampliats, una característica similar del sistema de fitxers que normalment és de mida fixa, les bifurcacions poden ser de mida variable, possiblement fins i tot més grans que la forquilla de dades primària del fitxer. La mida d'un fitxer és la suma de les mides de cada forquilla.

Els sistemes de fitxers populars que poden utilitzar forquilles inclouen HFS+ d'Apple i NTFS de Microsoft.

Alternatives En sistemes de fitxers sense forquilles, es poden utilitzar diversos fitxers separats associats entre si, especialment fitxers sidecar per a metadades. Tanmateix, la connexió entre aquests fitxers no es conserva automàticament pel sistema de fitxers, sinó que ha de ser gestionada per cada programa que treballa amb fitxers. Una altra alternativa és un fitxer contenidor, que emmagatzema dades addicionals dins d'un format de fitxer determinat, o un fitxer d'arxiu, que permet emmagatzemar diversos fitxers i metadades dins d'un fitxer (dins d'una única bifurcació). Això requereix que els programes processin el fitxer contenidor o l'arxiu, en lloc de les bifurcacions de gestió del sistema de fitxers. Aquestes alternatives requereixen un treball addicional per part dels programes que utilitzen les dades, però es beneficien de la portabilitat a sistemes de fitxers que no admeten forks.

Implementacions Apple

Les bifurcacions del sistema de fitxers estan associades amb el sistema de fitxers jeràrquic (HFS) d'Apple. HFS, i el sistema de fitxers Apple Macintosh original MFS, permetien que un objecte del sistema de fitxers tingués dos tipus de bifurcacions: una bifurcació de dades i una bifurcació de recursos.

La bifurcació de recursos va ser dissenyada per emmagatzemar dades no compilades que serien utilitzades per la interfície gràfica d'usuari (GUI) del sistema, com ara cadenes de text localitzables, la icona d'un fitxer que utilitzarà el Finder o els menús i quadres de diàleg associats a una aplicació. Tanmateix, la funció era molt flexible, de manera que es van trobar usos addicionals, com ara dividir un document de processament de textos en contingut i presentació, i després emmagatzemar cada part en recursos separats. Com que el codi de programari compilat també s'emmagatzemava en un recurs, sovint les aplicacions consistirien només en una bifurcació de recursos i cap bifurcació de dades.

Una de les característiques més obscures de HFS+ és que un fitxer pot tenir un nombre arbitrari de "bifurcacions anomenades" personalitzades a més de les bifurcacions tradicionals de dades i recursos. Aquesta característica no s'ha utilitzat en gran manera, ja que Apple mai no hi ha afegit suport amb Mac OS 8.1 - 10.3.9. A partir de la 10.4, es va fer una implementació parcial per donar suport als atributs en línia ampliats d'Apple.

A Mac OS X fins a Mac OS X v10.4, els usuaris que executaven utilitats de línia d'ordres Unix com ara tar s'arriscarien a perdre dades, ja que les utilitats no s'havien actualitzat per gestionar les bifurcacions de recursos dels fitxers.

Novell A partir de 1985, Novell NetWare File System (NWFS) i el seu successor Novell Storage Services (NSS), es van dissenyar des de principis per utilitzar una varietat de mètodes per emmagatzemar les metadades d'un fitxer. Algunes metadades resideixen als serveis de directoris de Novell (NDS), algunes s'emmagatzemen a l'estructura de directoris del disc i algunes s'emmagatzemen en, com l'anomena Novell, "diversos fluxos de dades" amb el propi fitxer. Diversos fluxos de dades també permeten als clients Macintosh connectar-se i utilitzar servidors NetWare.

Microsoft NTFS, el sistema de fitxers introduït amb Windows NT 3.1, admet bifurcacions del sistema de fitxers conegudes com a fluxos de dades alternatius (ADS). ReFS, un nou sistema de fitxers introduït amb Windows Server 2012, originalment no admetia ADS, però a Windows 8.1 de 64 bits i Server 2012 R2, el suport per a ADS, amb longituds de fins a 128K, es va afegir a ReFS.

Originàriament, l'ADS estava pensat per afegir compatibilitat amb els sistemes operatius existents que admeten forks. Es pot demanar a un programa informàtic que obri un ADS especificant el nom de l'ADS després d'un signe de dos punts (:) després de la ruta del fitxer. Malgrat el suport, la majoria de programes, inclòs l'Explorador de Windows i l'ordre dir (abans de Windows Vista) ignoren ADS. L'Explorador de Windows copia els ADS i avisa quan el sistema de fitxers de destinació no els admet, però només calcula la mida del flux principal i no enumera els fluxos d'un fitxer o carpeta. Des de Windows Vista, l'ordre dir admet mostrar ADS. Windows PowerShell v3.0 i posterior admet la manipulació d'ADS.

Sun Solaris versió 9 i posterior permet que els fitxers tinguin bifurcacions. Les bifurcacions s'anomenen atributs estès a Solaris, encara que no estan dins del significat habitual d'"atribut estès". La mida màxima d'un atribut estès de tipus Solaris és la mateixa que la mida màxima d'un fitxer, i es llegeixen i escriuen de la mateixa manera que els fitxers. Internament, s'emmagatzemen i s'hi accedeix com a fitxers normals, de manera que la seva propietat i els seus permisos poden diferir dels del fitxer principal. Els subdirectoris són administratius desactivats, de manera que els seus noms no poden contenir caràcters "/".

Possibles riscos de seguretat i pèrdua de dades Quan un sistema de fitxers admet diferents bifurcacions, les aplicacions n'han de ser conscients, o poden sorgir riscos de seguretat. Permetre que el programari heretat accedeixi a les dades sense els shims adequats al seu lloc és el principal culpable d'aquests problemes.

Si les diferents utilitats del sistema (explorador de discs, programari antivirus, arxivadors, etc.), no són conscients de les diferents bifurcacions, poden sorgir els problemes següents:

L'usuari mai sabrà la presència de cap bifurcació alternativa ni la mida total del fitxer, només de la bifurcació de dades principal. Els virus informàtics es poden amagar en bifurcacions alternatives a Windows i no es detecten mai si el programari antivirus no coneix les bifurcacions. Les dades es poden perdre quan s'envien fitxers mitjançant canals que no són conscients de la bifurcació, com ara el correu electrònic, sistemes de fitxers sense suport per a bifurcacions, o fins i tot quan es copien fitxers entre sistemes de fitxers amb suport de bifurcació si el programa que ha fet la còpia no és compatible amb bifurcacions o quan es comprimeixen fitxers amb programari que no admet bifurcacions.

Referències

Categoria:Informàtica Categoria:Programació Categoria:Arxius