UFS

UFS (Unix File System) è un filesystem usato principalmente in sistemi operativi Unix e Unix-like. E' un derivato del Berkeley Fast File System, che fu a sua volta sviluppato a partire dal FS usato dalla prima versione di Unix realizzata presso i Bell Labs.

Pressoché tutti i derivati di BSD, inclusi FreeBSD, NetBSD, OpenBSD, NeXTSTEP e Solaris, usano una variante di UFS. In Mac OS X è disponibile come alternativa a HFS. In Linux è disponibile un supporto parziale a UFS, mentre il suo filesystem nativo, EXT2, è anch'esso derivato da UFS.

Implementazione e struttura

Un filesystem UFS è composto dalle seguenti componenti:

Gli inode sono numerati in sequenza: i primi inode sono riservati per motivazioni storiche e subito seguiti da quelli della root directory.

I files che descrivono le directory contengono solo i nomi e i puntatori agli inode degli elmenti che contengono. Tutti i metadati sono conservati nell'inode stesso.

Presente e futuro

In molti sono coloro che hanno adattato UFS ai loro propri scopi, aggiungendo estensioni proprietarie non compatibili con le versioni degli altri. Sorprendentemente alcuni hanno continuato ad usare la dimensione originale dei blocchi e dei campi dati, ed alcuni margini di compatibilita' tra versioni (almeno in fase di lettura del filesystem) sono rimasti.

FreeBSD 5.0 ha introdotto UFS2, che dispone del supporto per volumi di oltre 1 TB.

Linux ha il filesystem EXT2, scritto da zero ma basato sui principi di UFS, mentre non dispone, a causa dell'assenza di uno standard unificato di UFS, di uno strumento per poter scrivere su tale filesystem.

Su Solaris 7 Sun Microsystems ha incluso l'UFS Logging, che ha permesso di includere il journaling su UFS. Solaris dispone inoltre di diverse estensioni per la manipolazione di grandi files e grandi volumi.

See also: UFS, BSD, Backup, Berkeley Fast File System, Directory, Filesystem, FreeBSD, Inode, Journaling, Linux