Sistema de fitxers

De Viquipèdia
Dreceres ràpides: navegació, cerca

En els ordinadors, el sistema de fitxers és un mètode per emmagatzemar i organitzar fitxers d'ordinador i les dades que contenen per tal de facilitar-ne la localització i accés. Els sistemes de fitxers usen dispositius d'emmagatzemament com els disc durs, o CD-ROMs i inclouen el manteniment del lloc físic dels fitxers. La majoria de sistemes operatius tenen el seu propi sistema de fitxers.

Els més comuns utilitzen dispositius d'emmagatzemament de dades que permetin l'accés a les dades com una cadena de blocs d'una mateixa mida, a vegades anomenats sectors, normalment de 512 bytes de longitud. El programari del sistema d'arxius és responsable de l'organització d'aquests sectors en arxius i directoris i manté un registre de quins sectors pertanyen als arxius i quins no han estat utilitzats. En la realitat, un sistema d'arxius no requereix necessàriament d'un dispositiu d'emmagatzemament de dades, sinó que pot ser utilitzat també per a accedir a dades generades dinàmicament, com les rebudes a través d'una connexió de xarxa.

Generalment un sistema d'arxius té directoris que associen noms d'arxius amb arxius, normalment connectant el nom d'arxiu a un índex en una taula d'assignació d'arxius d'algun tipus, com ara FAT en sistemes d'arxius MS-DOS o els inodes dels sistemes Unix. L'estructura de directoris pot ser plana o jeràrquica (ramificada o "en arbre"). En alguns sistemes de fitxers els noms d'arxius són estructurats, amb sintaxis especials per a extensions d'arxius i números de versió. En altres, els noms d'arxius són simplement cadenes de text i les metadades de cada arxiu són allotjades separadament.

En sistemes d'arxius jeràrquics, normalment, es declara la ubicació precisa d'un arxiu amb una cadena de text anomenada "ruta". La nomenclatura per a rutes varia lleugerament de sistema en sistema, però mantenen en general una mateixa estructura. Una ruta ve donada per una successió de noms de directoris i subdirectoris, ordenats jeràrquicament d'esquerra a dreta i separats per algun caràcter especial que sol ser una barra ('/') o barra invertida ('\') i pot acabar amb el nom d'un arxiu present en l'última branca de directoris especificada.

Així, per exemple, en un sistema Unix la ruta a la cançó preferida de l'usuari "albert" seria:

/home/albert/música/Magic Mushrooms - Open Source.ogg

Un exemple anàleg en un sistema d'arxius Windows es veuria com:

C:\Documents and Settings\Els meus documents\La meva música\Magic Mushrooms - Open Source.ogg

Els sistemes d'arxius tradicionals proveeixen mètodes per a crear, moure i eliminar tant arxius com directoris, però no tenen mètodes per a crear, per exemple, enllaços addicionals a un directori o arxiu (enllaç dur en Unix) o re-anomenar enllaços pares (".." en Unix).

L'accés segur a sistemes d'arxius bàsics pot estar basat en els esquemes de llista de control d'accés o capacitats. Les llistes de control d'accés fa dècades que van demostrar ser insegures, de manera que els sistemes operatius experimentals utilitzen l'accés per capacitats. Els sistemes operatius comercials encara funcionen amb llistes de control d'accés.

Les principals funcionalitats d'aquests sistemes són

  • Permisos
    • llistes de control d'accés (ACLs)
    • UGO (Usuari, Grup, Altres — per les seves sigles de l'anglès, User, Group, Others)
    • Capacitats granulades
    • Atributs extesos (només afegir al fitxer però no modificar, no modificar mai (per a modificar-lo s'ha de treure l'atribut), etc.)
  • Evitar la fragmentació
  • Permetre enllaços, tant simbòlics com durs
  • Journaling (recuperació ràpida després d'un apagat brusc)
  • Suport per a fitxers dispersos

Tipus de sistemes de fitxers[modifica | modifica el codi]

De fitxers de disc[modifica | modifica el codi]

Dissenyat per emmagatzemar dades en disc durs. Per exemple FAT (FAT12, FAT16, FAT32, exFAT), NTFS, HFS i HFS+, HPFS, ext2, ext3, ISO 9660, ODS-5, ZFS i UDF. Alguns d'aquests sistemes són alhora sistemes Journaling o sistemes versionats.

De fitxers de Flash[modifica | modifica el codi]

Dissenyats per emmagatzemar dades en memòries flash. Tot i que es pot usar un sistema de fitxers dissenyat per a discs, aquests no són òptims per diverses raons:

  • Blocs d'esborrament: Els blocs de memòria flash han de ser esborrats de forma explícita abans de poder-hi escriure. El temps per fer això pot ser significatiu, amb la qual cosa pot ser beneficiós que els blocs no usats s'esborrin mentre el dispositiu està inactiu.
  • Accés aleatori: mentre que els sistemes de fitxers de disc estan optimitzats per evitar les recerques (seek), ja que aquestes són especialment costoses en discs, en els sistemes de memòria aleatòria com la memòria flash, aquest temps de cerca és constant i no impliquen cap latència addicional.
  • Anivellament del desgast: Les memòries flash es desgasten amb el pas de moltes reescriptures sobre un mateix bloc. Els sistemes de fitxers flash estan dissenyats per tal de repartir les escriptures equitativament entre tots els blocs, anivellant-ne el desgast. Alguns exemples són JFFS2 i YAFFS.

De fitxers de Base de Dades[modifica | modifica el codi]

Un nou concepte en el disseny de sistemes de fitxers és el de tractar el sistema com una gran base de dades. A més a més de l'estructura jeràrquica de tot sistema de fitxers, aquests també són identificats per atributs com el tipus de fitxer, la seva temàtica, l'autor, o altres metadades.

Sistemes transaccionals[modifica | modifica el codi]

En anglès Journaled File System. Són sistemes on les operacions d'escriptura són atòmiques. És a dir, o no s'executen o es completen, però no queden mai a mitges. Això es fa mantenint un registre de l'operació que es va a fer just abans de fer-la, per en cas de fallada desfer l'operació a mitges indicada en el registre (acció de roll-back). Exemples són JFS, NTFS, ext3, XFS.

Sistemes de xarxa[modifica | modifica el codi]

Un sistema d'arxius de xarxa és un sistema d'arxius que accedeix als seus arxius a través d'una xarxa. Dins d'aquesta classificació trobem dos tipus de sistemes d'arxius: els sistemes de fitxers distribuïts (no proporcionen E/S en paral·lel) i els sistemes de fitxers paral·lels (proporcionen una E/S de dades en paral·lel).

Exemples de sistemes d'arxius distribuïts poden ser:

Mentre que per als sistemes d'arxius paral·lels tindríem:


Sistemes de propòsit especial[modifica | modifica el codi]

Els sistemes d'arxius de propòsit especial són bàsicament aquells que no es poden encabir en cap de les classificacions anteriors.

Etcètera.

Altres sistemes[modifica | modifica el codi]

Vegeu també[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Sistema de fitxers Modifica l'enllaç a Wikidata