Be File System

Il Be File System (BFS) è il file system nativo per BeOS. Nel kernel Linux viene chiamato “BeFS” per evitare confusione con Boot File System.

BFS è stato sviluppato da Dominic Giampaolo e Cyril Meurillon in un periodo di dieci mesi, a partire dal settembre 1996, per fornire a BeOS un moderno file system di journaling con capacità di 64 bit. Fa distinzione tra maiuscole e minuscole e può essere utilizzato su floppy disk, dischi rigidi e supporti di sola lettura come i CD-ROM. Tuttavia, il suo utilizzo su piccoli supporti rimovibili non è consigliato, poiché le intestazioni del file system consumano da 600 KB a 2 MB, rendendo i floppy disk praticamente inutilizzabili.

Come il suo predecessore, OFS (Old Be File System, scritto da Benoit Schillings – precedentemente BFS), include il supporto per attributi di file estesi (metadati), con caratteristiche di indicizzazione e interrogazione per fornire funzionalità simili a quelle di un database relazionale.

Sebbene inteso come file system con capacità a 64 bit, la dimensione di alcune strutture su disco significa che il limite di dimensione pratica è di circa 2 exabyte. Allo stesso modo, l’allocazione dei file basata sull’estensione riduce la dimensione massima pratica del file a circa 260 gigabyte nella migliore delle ipotesi e a pochi blocchi nel peggiore dei casi patologico, a seconda del grado di frammentazione.

Il suo processo di progettazione, l’interfaccia di programmazione dell’applicazione e il funzionamento interno sono, per la maggior parte, documentati nel libro Practical File System Design with the Be File System.

Implementazioni
Oltre al BFS originale del 1996 utilizzato in BeOS, esistono diverse implementazioni per Linux. All’inizio del 1999, Makoto Kato ha sviluppato un driver Be File System per Linux; tuttavia, il driver non ha mai raggiunto uno stato completamente stabile, quindi nel 2001 Will Dyson ha sviluppato la propria versione del driver Linux BFS.

Nel 2002, Axel Dörfler e alcuni altri sviluppatori crearono e rilasciarono un BFS reimplementato chiamato OpenBFS for Haiku (OpenBeOS all’epoca). Nel gennaio 2004, Robert Szeleney annunciò di aver sviluppato un fork di questo file system OpenBFS da utilizzare nel suo sistema operativo SkyOS. Anche la normale implementazione di OpenBFS è stata portata su Syllable, nel quale è inclusa a partire dalla versione 0.6.5.