En els ordinadors, el sistema de fitxers és un mètode per emmagatzemar i organitzar fitxers i les dades que contenen per tal de facilitar-ne la localització i accés. Els sistemes de fitxers utilitzen dispositius d'emmagatzematge 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 anomenats sectors, normalment de 512 bytes de longitud. El software del sistema de fitxers és responsable de l'organització d'aquests sectors en fitxers i directoris i manté un registre de quins sectors pertanyen als arxius i quins no s'estan utilitzant.
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 anomenats sectors, normalment de 512 bytes de longitud. El software del sistema de fitxers és responsable de l'organització d'aquests sectors en fitxers i directoris i manté un registre de quins sectors pertanyen als arxius i quins no s'estan utilitzant.
Tipus de sistemes de fitxers:
FAT12: és la versió inicial de FAT. va sorgir junt amb MS-DOS 2.0 i va ser creat com a sistema de fitxers per disquets, per això té aquestes limitacions:
- No suporta anidació de carpeta.
- Les direccions de bloc solament contenen 12 bits. Per tant complica la implementació.
- La grandària del disc s'emmagatzema com un compte de 16 bits expressada en sectors. Per tant limita l'espai per treballar a 32 megabytes.
- No té el comptador de sectores de 16 bits i la grandària de la partició estava limitat per el compte de sectors per clúster, que era de 8 bits.
- Utilitzava clústers de 32 Kbytes amb els comuns 512 bytes per sector. Així que el límit definitiu de FAT16 era de 2 gigabytes.
- Supera el límit de grandària de FAT16 permeten en teoria emmagatzemar fins a uns 8 terabytes. Però degut a unes limitacions de la utilitat ScanDisk de Microsoft només es permetia formatar una partició amb un màxim de 124 gigabytes.
- NTFS ha reemplaçat l'anterior sistema de fitxers FAT.
- Té millor compatibilitat amb les metadades.
- Optimitza més el rendiment, estabilitat i aprofitament de l'espai en disc.
- Treballa amb Journaling.
- El mínim d'espai recomanat per la partició és de 10 GB i el màxim 2 TB.
- No és recomanable el seu ús en discs de menys de 400 MB lliures, ja que l'NTFS per si sol necessita força espai disponible.
- Noms més llargs.
- Metadades i informació de seguretat.
- Autocomprovació i informació estructural.
- Els fitxers podien tenir bifurcacions múltiples (per exemple les icones d'un programa podien anar a part del codi d'aquest).
- Els fitxers van ser referenciats per IDs úniques.
- Va ser optimitzat per ser utilitzat en medis d'emmagatzematge petits i lents com disquets.
- Suporta fitxers molt més grans (Blocs direccionables de 32 bits en comptes de 16)
- Utilitza UTF-16 per el nom dels fitxers per permetre utilitzar noms de fitxer de fins a 255 caràcters de longitud.
- Permet fitxers n-bifurcats semblants a NTFS, encara que gairebé cap software s'aprofita de bifurcacions amb excepció de la bifurcació de les dades i de la bifurcació del recurs.
- L'HFS+ també utilitza taules d'assignació de 32 bits, en comptes dels 16 bits d'HFS.
- Permet el treball amb Journaling.
EXT2: és un sistema de fitxers dissenyat pel kernel de GNU/Linux.
- El principal desavantatge és que no implementa el Journaling.
- Té un tipus de taula FAT de grandària fixe on s'emmagatzemen els i-nodes (versió molt millorada de FAT).
- Els blocs són d'una grandària especificable quan es crea el sistema de fitxers des de 4 KB fins a 512 KB. Assegurant d'aquesta manera un bon aprofitament de l'espai lliure pels fitxers petits.
- Els fitxers no poden sobrepassar els 2 TB i les particions els 4 TB.
EXT3: actualment és el sistema de fitxers més usat per les distribucions GNU/Linux.
- La principal diferència amb el seu antecessor és que treballa amb Journaling.
- Un sistema de fitxers EXT3 pot ser muntat com a sistema de fitxers EXT2.
- Utilitza un arbre binari balancejat (AVL) i incorpora l'assignador de blocs de disc Orlov.
- Treballa amb Journaling.
- Suport de volums de fins a 1024 PebiBytes.
- Suport afegit d'EXT4.
- Menor ús de la CPU
- Millores en la velocitat de lectura/escriptura en disc.
- Reparticionament amb el sistema de fitxers muntat i desmontat.
- Es pot augmentar la grandària del sistema de fitxers m'entres està muntat i desmuntat (online i offline). I es pot disminuir però només quan està desmuntat (offline).
- Tail packing, un esquema per reduir la fragmentació interna.
- Té un Journaling més eficient que en les versions anteriors gràcies a la tècnica "wandering log".
- Disposa d'un suport de fitxers petits més eficient (menys espai en disc i més velocitat).
- Administra els directoris amb un número elevat de fitxers més ràpidament.
- Infraestructura de plugins més flexible (a través de tipus especials de metadades: xifratge, compresió, etc).
- Suport transaccional.
- Optimització dinàmica de l'estructura del disc gràcies a la tècnica "allocate-on-flush".
- Transaccions atòmiques.
- Integració de metadades a l'espai de noms del sistema de fitxers.
Actualment, Reiser4 li falten algunes utilitats estàndards, com per exemple un repacker (semblant a un compactador de disc proporcionat en altres sistemes de fitxers).
ZFS:és un sistema de fitxers amb Journaling creat pel sistema operatiu Sun Solaris. Les principals característiques són:
- Capacitat de 128 bits (264 la capacitat d'un sistema de fitxers de 64 bits). Els límits del ZFS estan dissenyats per ser tan grans que no es troben mai a la pràctica.
- Disposa d'auto-reparació (Self-Healing): Totes les dades són hasheades prèviament a la seva escriptura en el bloc lògic del pool.
- Utilitza un model transaccional "copy-on-write".
- Com que ZFS no sobreescriu les dades utilitza instantànies (Snapshots). Es a dir, no allibera els blocs utilitzats per versions antigues de les dades.
- Dynamic striping: quan s'afegeix un dispositiu zpool l'ample de banda augmenta automàticament per millorar les velocitats de lectura/escriptura en disc.
- Utilitza blocs de grandària variable fins a 128K.
- Suporta un sistema de fitxers de fins a 9 ExaBytes. Excepte en sistemes GNU/Linux que el límit es troba en 16 TeraBytes.
- Els sistemes de fitxers XFS estan particionats internament en grups d'assignació. Cada grup gestiona els seus inodes i espai lliure independentment.