9. Altri file system

9.1. ADFS - Acorn Disc File System

L'Acorn Disc Filing System è il file system standard del sistema operativo RiscOS che gira sui PC Acorn basati sul RISC ARM e sulle macchine Archimedes sempre di Acorn.

Il kernel 2.1.x di Linux supporta questo file system. Autore dell'implementazione Linux è Russell King <rmk@arm.uk.linux.org>.

9.2. AFFS - Amiga fast file system

Il Fast File System (FFS) è il file system comunemente usato sugli hard disk dai sistemi Amiga dalla versione 1.3 (34.20) dell'AmigaOS.

Il kernel 2.1.x+ di Linux supporta questo file system. Autore dell'implementazione Linux è Ray Burr <ryb@nightmare.com>.

9.3. BeFS - Il file system di BeOS

BeFS è la Sezione 1.12 il file system usato in BeOS. Per maggiori infomazioni su BeFS vedi il libro Practical File System Design with the Be File System oppure il sorgente del driver Linux per BeFS.

Implementazione Linux di BeFS:

Questo driver supporta Linux sulle piattaforme x86 e PowerPC. Inoltre, supporta solo hard disk e floppy solo in lettura.

9.4. BFS - UnixWare Boot file system

Il file system BFS di UnixWare è un tipo speciale di file system. E' stato progettato per caricare e fare il boot del kernel di UnixWare. E' stato progettato come la Sezione 1.6. BFS supporta solo una directory e si possono creare solo file semplici: sotto directory e file speciali, come device o socket non possono essere creati.

Per maggiori informazioni su BFS: .

Si può accedere la file system BFS da Linux:

Il supporto per BFS è incluso nel kernel di Linux dalla versione 2.3.25. Per le versioni precedenti, occorre controllare sul sito l'eventuale esistenza di una patch specifica. Il sito contiene anche bugfix e miglioramenti non ancora intergrati nel kernel ufficiale.

Esiste anche una mia vecchia versione, ora obsoleta. Il mio piano è quella di portare questo codice in FreeBSD.

Supporto a sola lettura del file system BFS di UnixWare per Linux. Può essere usato per montare a sola lettura le partizioni UnixWare e i floppy disk. Non è prevista una versione a lettura e scrittura ma se sei interessato, mandami una mail. Potresti essere interessato anche al supporto Linuxla Sezione 9.31.

9.5. File system CrosStor

Questo è il nuovo nome per il High throughput file system (HTFS). Per maggiori informazioni consulta il sito di CrosStor .

9.6. DTFS - Desktop file system

Gli obiettivi nella progettazione del file system Desktop sono influenzati da quello che dovrebbe essere l'ambiente per piccoli sistemi. DTFS comprime i dati memorizzati in normali file per ridurre le richieste di spazio su disco (le directory rimangono non compresse). La compressione è eseguita una pagina alla volta ed avviene al volo. DTFS supporta la LZW ma si possono aggiungere algoritmi personali. Un pò di spazio è salvato non allocando in anticipo gli inode. E' gioco facile allocare un blocco su disco come inode. Ogni inode è memorizzato come B+tree. Per maggiori informazioni, si può leggere il documento USENIX su DTFS (scaricabile da ).

Driver commerciale a lettura e scrittura disponibile da CrosStor per UnixWare e SUN Solaris:

9.7. EFS - Enhanced file system (Linux)

Il progetto del file system enhanced ha come obiettivo quello di creare un nuovo file system per Linux ed eventualmente per altri sistemi operativi che permette all'amministratore di definire "file system" montabili su un insieme di dispositivi a blocchi (hard disk o partizioni). L'intento è quello di permettere l'aggiunta o la rimozione di file system da un insieme di partizioni mentre il sistema è in esecuzione, allo scopo di permettere ad un numero di file system montabili di condividere lo stesso pool di spazio di memorizzazione (avere cioè le home degli utenti nello stesso pool delle news ma avere un sistema di accounting separato) e di permettere anche la facile aggiunta di nuovi dischi.

Alcune altre caratteristiche che gli autori vogliono implementare sono la Sezione 1.12, il supporto per il più ampio numero di sistemi operativi (sebbene tutto il lavoro sarà inizialmente svolto su Linux) e per le quote direttamente nel file system, in modo he non sia più necessario sprecare tempo eseguendo il quotacheck durante il boot. Vogliono essere in grado di fare il boot di un sistema con 10 giga di news sparse su 4 dischi, con pieno supporto delle quote, dopo un guasto all'alimentazione con meno di 20 secondi per il mounting dei dischi!

Il sito dell'Enhanced FS è . Contattare Russell Coker <russell@coker.com.au> per maggiori informazioni.

9.8. EFS - Extent file system (IRIX)

Il file sistem Extent (efs) è un vecchio file system block-device di Silicon Graphics, largamente utilizzato nelle versioni di Irix precedenti alla 6.0. Dalla 6.0, xfs è stato aggiunto ad Irix e gli utenti sono stati incoraggiati a migrare al file system xfs. Il supporto in Irix per efs diventerà a sola lettura nelle versioni di Irix successive alla 6.5; efs è tuttavia ancora molto utilizzato da SGI per la distribuzione del software su CD.

Ci sono due moduli per il kernel di Linux per accedere al file system EFS.

Il modulo kernel efs è una realizzazione del file system extent per Linux con kernel 2.2. Una sua versione (efsmod-0.6.tar.gz) era stata in origine scritta da Christian Vogelgsang per il kernel 1.x. In questa versione il codice è stato sottoposto ad una completa riscrittura ed è anche "endian clean". Per usare il modulo efs è necessario almeno il kernel 2.2. Per montare i CD Irix, il lettore CD deve essere in grado di gestire blocchi da 512 byte. Questa versione di efs contiene il supporto per le partizioni su hard disk e contiene anche una patch che permette di installare il codice efs all'interno dell'albero di sviluppo del kernel di Linux. Anche la gestione dei file grossi è stata migliorata molto.

La versione orginale di efsmod è disponibile anche:

Efs-mod 0.6 è la versione originale di EFS a sola lettura per Linux. La versione 0.6 è finita ma il progetto è stato fermato per la mancanza di tempo ed informazioni per realizzare la parte di scrittura.

9.8.1. EFS e libreria FFS, libfs

Una libreria C per leggere EFS e FFS da WinNT x86, SunOS e Irix. Facile da usarsi (interfaccia simile a Posix) e da linkare, ha anche winefssh.exe e winufssh.exe, due semplici eseguibili WinNT che leggono file system UFS e EFS. Non è un pacchetto molto documentato ma qualcuno potrebbe trovarlo utile.

Link utili:

  • Breve descrizione del file sistem EFS di Irix:

9.9. FFS - File system veloce di BSD

Questo è il file system nativo per molti unix BSD (FreeBSD, NetBSD, OpenBSD, Sun Solaris, ...).

Vedi anche: la Sezione 9.24, la Sezione 9.29.

9.10. GPFS - General Parallel file system

Questo è un file system di tipo Unix progettato per i server RS/6000 SP. Permette ad applicazioni su nodi multipli di condividere file di dati. GPFS supporta file system molto grandi e suddivide i dati su molteplici dischi per migliorare le prestazioni. GPFS è basato su un modello di condivisione dei dischi che fornisce un accesso con basso overhead ai dischi non attaccati direttamente ai nodi applicativi ed usa un protocollo di lock distribuito per fornire la piena coerenza dei dati nell'accesso da ogni nodo. Offre molte delle interfacce standard del file system AIX, permettendo a molte applicazioni di girare senza modifiche o ricompilazioni. Queste capacità sono disponibili mentre viene permesso l'accesso ai dati ad alta velocità agli stessi dati da tutti i nodi del sistema SP, fornendo la piena coerenza dei dati per le operazioni svolte dai vari nodi. GPFS cerca di continuare a funzionare in presenza di guasti a diversi nodi o componenti, sempre che ci siano sufficienti risorse per continuare.

9.11. HFS - File system ad alte prestazioni per HP-UX

Questo è il secondo hfs che appare in questo HOWTO. E' usato nelle vecchie versioni di HP-UX.

9.12. HTFS - High throughput file system

Link utili:

Driver commerciale per lettura e scrittura disponibile dalla CrosStor:

9.13. JFS - File system journaled (HP-UX, AIX, OS/2 5, Linux)

JFS è la tecnologia di file system journaled di IBM, attualmente utilizzata sui server enterprise di IBM, ed è progettata per ambienti server con alto throughput.

9.14. LFS - Il file system Linux strutturato a log

Il file system per Linux struttura a log è chiamato d(t)fs:

d(t)fs è un progetto per un file system strutturato a log per Linux. Attualmente il file system è quasi completamento funzionante ma non ne è stato ancora scrittu un ripulitore.

Ci sarà anche una mailing list che sarà annunciata sulla home page. Per maggiori informazioni vedi:

9.15. MFS - File system Macintosh

MFS è il file system originale di Macintosh. E' stato sostituito da HFS / HFS+. Se puoi fornirmi ulteriori informazioni, mandami una mail per favore.

9.16. File system Minix

Questo è il file system nativo di Minix. E' stato anche usato nella prima versione di Linux.

9.17. NWFS - File system NetWare di Novell

NWFS è il file system nativo del sistema operativo Netware di Novell. E' un file system basato su FAT modificata. Ne esistono due varianti: il NWFS 286 a 16 bit usato in Netware 2.x ed il NWFS 386 a 32 bit usato in Netware 3.x, 4.x e 5.

9.17.3. Accedere a NWFS-386 da Linux

  • Homepage:

  • Download:

  • Autore: Timpanogas Research Group, Inc. (jmerkey@timpanogas.com)

  • Licenza: GPL

  • Accesso: sola lettura

Questo driver permette di montare un file system NWFS-386 in Linux.

9.18. NSS - Novell Storage Services

Questo è un nuovo file system la Sezione 1.12 a 64 bit che utilizza algoritmi la Sezione 1.11. E' utilizzato in Netware 5 di Novell.

9.19. ODS - File system On Disk Structure

Questo è il file system nativo di OpenVMS e VMS.

9.20. File system QNX

Questo file system è usato in QNX. Ne esistono due versioni principali, la 2 usata in QNX2 e la versione 4 usata in QNX4. QNX4 non supporta la versione 2 e viceversa.

Il file system QNX4 è accessibile in Linux 2.1.x+, abilitando la voce 'QNX file system support'.

Driver per il file system QNX4.

9.21. File system Reiser

Reiserfs è un file system che usa una variante dei classici algoritmi ad albero bilanciato. I risultati, quando lo si compara con il file system ext2fs basato su una allocazione dei blocchi convenzionale, usando lo stesso sistema operativo ed impiegando lo stesso codice di buffering suggeriscono che questi algoritmi sono molto efficaci, in velocità per file più grandi delle dimensioni dei nodi (4k), diventando meno veloci e più compatti se i file hanno dimensioni vicine a quelle dei nodi e diventano marcatamente più veloci e compatti se i file sono più piccoli dei nodi raggiungendo diversi ordini di grandezza di vantaggio per file di 100 byte. I miglioramenti nella velocità e nello spazio occupato dai piccoli file suggeriscono forse di rivedere una tipica assunzione della progettazione dei sistemi operativi di aggregare piccoli oggetti usando layer superiori al layer del file system.

Link utili:

9.22. RFS (File system per CD-ROM)

Il file system per la scrittura a blocchi incrementale di Sony.

9.23. RomFS - File system Rom

Autore della versione Linux di RomFS è Janos Farkas < chexum@shadow.banki.hu >. Per maggiori informazioni vedi /usr/src/linux/Documentation/file system/romfs.txt.

9.24. SFS - File system sicuro

Il file system di tipo SFS è una variazione del file system di tipo FFS. Il boot block, il superblock, gli storage block e i blocchi liberi del file system sfs sono, a livello ammimnistrativo, identici a quelli del FFS. Gli inode differiscono tuttavia da quelli FFS. Gli inode con numeri dispari sono riservati ad informazioni di sicurezza (liste di controllo degli accessi). Non sono sicuro che sfs non abbia altre capacità.

Link su SFS:

9.25. File system Spiralog (OpenVMS)

Spiralog è un file system a 64 bit ad alte prestazioni. Spiralog combina la tecnologia basata su la Sezione 1.12log con la più tradizionale tecnologia la Sezione 1.11B-tree per fornire una astrazione generica. Il meccanismo di mappatura B-tree usa un logging write-ahead per dare garanzie di stabilità e recuperabilità.

Link Digital relativi a Spiralog:

9.26. File system System V e derivati

La homepage del progetto System V Linux project si trova su . Responsabile di questo progetto è <kgb@manjak.knm.pl.org>.

9.27. Text - (File system per CD-ROM di Philips)

Standard Philips per la codifica di dischi e tracce di dati su CD-Audio.

9.28. UDF - Universal Disk Format (file system per DVD-ROM)

Esiste un driver Linux per il file system UDF:

9.29. UFS

Nota: molti chiamano incorrettamente la Sezione 9.9 il Fast File System di BSD come UFS. FFS e UFS sono file system diversi. Tutti gli Unix moderni usano file system FFS e non UFS. L'UFS è stato utilizzato in vecchie versioni BSD. Puoi scaricare il codice sorgente da .

Link utili:

Vedi anche: la Sezione 9.9

9.30. File system V7

Il file system V7 è stata utulizzato nella settima edizione del sistema Unix Time Sharing (1980 circa). Per maggiori informazioni, vedi il codice sorgente della settima edizione, disponibile presso l'archivio Unix: .

9.31. VxFS - File system Veritas (HP-UX, SCO UnixWare, Solaris)

Questo è un file system commerciale sviluppato da Veritas Inc. E' disponibile su HP-UX, SCO UnixWare, Solaris e probabilmente altri sistemi. Possiede caratteristiche molto interessanti: allocazione basata sulle dimensioni, journaling, liste di controllo degli accessi (ACL), supporto per file fino a 2 terabyte, backup on line (file system snapshot), quote d'uso sullo stile BSD e molte altre.

Ci sono tre versioni di VxFS disponibili:

Versione 1: La versione originale, non più molto utilizzata.

Versione 2: Supporto per i fileset e l'allocazione dinamica degli inode.

Versione 4: L'ultima versione, supporto per file grandi e per le quote d'uso.

Da notare che le versioni su HP-UX, Solaris e UnixWare usano strutture leggermente differenti, così non dovrebbe essere possibile leggere VxFS da un sistema diverso.

Link relativi a VxFS:

Vedi anche: la Sezione 2.7 e la Sezione 1.12.

9.31.1. VxTools

Programma di utilità Unix da linea di comando per accedere a VxFS versioni 2 e 4, disponibili sotto GNU GPL:

  • Homepage:

  • Download:

  • Autore: Martin Hinner <mhi@penguin.cz>

  • Mailing-list: <fs-l@penguin.cz>

  • Licenza: GPL

  • Accesso: sola lettura, programma di utilità da linea di comando

Vxtools è un insieme di utilità da linea di comando che permettono di accedere ai file system VxFS da Linux ( e probabilmente altri Unix). La versione attuale legge VxFS versioni 2 e 4.

Io ho pianificato anche un driver per il kernek di VxFS.

AFAIK, Rodney Ramdas < rodney@quicknet.nl > sta lavorando ad un driver VxFS per FreeBSD. Non conosco l'attuale stato del suo progetto, così se vuoi avere maggiori informazioni, contattalo direttamente.

9.32. XFS - File system esteso (IRIX)

XFS (tm) è il file system di nuova generazione per i sistemi di Silicon Graphics, dalle workstation da tavolo ai supercomputer. XFS offre capacità a 64bit per gestire facilmente file e file system estremamente grandi che crescono fino ad un terabyte. Il file system XFS integra la gestione dei volumi, velocità di I/O garantite ed una tecnologia di journaling per veloci ed affidabili recuperi. I file system possono essere salvati su backup anche durante il loro utilizzo, riducendo significativamente il sovraccarico amministrativo.

XFS è progettato per altissime prestazioni: un throughput mantenuto superiore a 300MB al secondo è stato ottenuto su sistemi Challenge. XFS scala nelle prestazioni per adattarsi all'architettura di Challenge MP. File tradizionali, directory e file system hanno prestazioni ridotte non appena crescono in dimensioni. Con il file system XFS, non si paga invece in prestazioni. Per esempio, le directory XFS sono state verificate fino a 32 milioni di file in una singola directory.

XFS è un file system con journaling. Memorizza i cambiamenti agli inode, directory e bitmap su disco prima che le voci originali siano aggiornate. Nel caso di crash del sistema prima che gli aggiornamenti siano completati, questi possono essere ripresi e completati usando i log.

XFS usa una gestore dello spazio (space manager) per allocare spazio su disco per il file system e controllare gli inode. Usa una gestore dello spazio dei nomi per controlare l'allocazione di file e directory. Questi gestori usano indici B-tree per memorizzare informazioni sulla posizione dei file, diminuendo in maniera significativa il tempo di accesso richiesta per recuperare le informazioni sui file.

Gli inode sono creati quando necessari e non sono limitati ad una particolare area su una partizione del disco. XFS cerca di posizionare gli inode vicino ai file ed alle directory a cui si riferiscono. File molto piccoli, come link simbolici ed alcune directory, sono memorizzati direttamente negli inode, per migliorare le prestazioni e salvare spazio. Le directory grandi usano indici B-tree contenuti nel directory file per accelerare le ricerche, le aggiunte e le cancellazioni.

Link utili su XFS:

Il porting di XFS su Linux, con licenza GNU GPL, è disponibile dalla SGI Inc.:

9.33. File system Xia

Questo file system è stato sviluppato per sostituire, in Linux, il vecchio file system Minix. Autore di questo file system è Franx Xia < qx@math.columbia.edu >.