Il "File System HOWTO" tratta dei file system e di come accedere ai file system da diversi OS. Sebbene il documento sia stato assemblato al meglio delle mie conoscenze, potrebbe contenere degli errori. Se trovi qualche errore o informazioni non aggiornate, fammelo sapere. Cercherò di mantenere questo documento il più possibile aggiornato e libero di errori. Anche contributi sono ben accetti, quindi se vuoi scrivere qualcosa sui file system, contattami via email.
Prima di leggere questo HOWTO, si consiglia di leggere il Disk-HOWTO di Stein Gjoen (puoi ottenerlo da � ).
Questo HOWTO può essere ottenuto da � o �.
Se sei un utente giapponese, potresti essere interessato al fatto che FUJIWARA Teruyoshi ha tradotto questo HOWTO in giapponese. La traduzione è disponibile su �. Il file sorgente in formato SGLM può essere scaricato da �
The file system HOWTO, Copyright (c) 1999 Martin Hinner< mhi@penguin.cz>.
This HOWTO is free document; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This HOWTO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this document or GNU CC; if not, write to the: Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Potresti considerare l'iscrizione alla mailing list sui file system. Questa lista è riconosciuta come una buona fonte di informazioni sia per gli utenti finali che per gli sviluppatori. Se quindi hai qualcosa a che fare con i file system, iscriviti. Per iscriverti manda una email a < majordomo@penguin.cz> e nel testo (non nell'oggetto) del messaggio metti (senza le virgolette): "subscribe fs-l".
Per iscriverti alla mailing list sui file system supportati dal kernel di Linux linux-fsdev@vger.rutgers.edu, manda una mail a listserv@vger.rutgers.edu. Metti "subscribe linux-fsdev" nel testo del messaggio.
Per iscriverti alla mailing list tecnica sui file system supportati da FreeBSD freebsd-fs@FreeBSD.org, manda una mail a majordomo@FreeBSD.org. Metti "subscribe freebsd-fs" net testo del messaggio.
File system collection è un sito FTP/WWW che fornisce informazioni utili sui file system e sui programmi e driver relativi ad i file system. Il sito è �, oppure, via FTP, �.
La versione originale di "file system access HOWTO" è stata scritta da Georgatos Photis (vedi la sua homepage su �). Questo HOWTO contiene molte informazioni dalla suo sito. Grazie, Gef.
FUJIWARA Teruyoshi <fujiwara@linux.or.jp> ha tradotto questo HOWTO in Giapponese.
Altre persone che hanno contribuito o che mi hanno aiutato (direttamente o indirettamente) per questo HOWTO sono, in ordine alfabetico:
Mariusz Borkowski <borkowsm@ii.pw.edu.pl> - ISO9660/RR info
Remy Card <card@masi.ibp.fr> - Introduzione al file system Ext2
Peter A. Dinda <pdinda@cs.cmu.edu> - Descrizione del file system HFS
Alfonso De Gregorio <adg@speedcom.it> - Informazioni sul file system TCFS
Radek Machacka <radekm@sco.com> - Grazie per SCO UnixWare e SCO OpenServer
Andrey Shedel <andreys@cr.cyco.com> - Vari aggiornamenti
Peter Todd <retep2@home.com> - Informazioni sul file system SFS
Theodore Ts'o <tytso@mit.edu> - Introduzione al file system Ext2
Stephen Tweedie <sct@dcs.ed.ac.uk> - Introduzione al file system Ext2
Questa è la mappa di accessibilità dei file system, ordinata alfabeticamente in ordine di sistema operativo. Potresti trovare questo elenco un pò caotico. Questo è dovuto agli sgmltools di Linux che non gestiscono le tabelle.
COME PUOI VEDERE, QUESTA 'MAPPA' E' ANCORA INCOMPLETA. CERCHERO' DI FINIRLA NEL PROSSIMO FUTURO.
FreeBSD: the section called FFS - File system veloce di BSD | the section called Accedere a HPFS da FreeBSD | the section called Accedere a NTFS da FreeBSD e NetBSD
Linux: the section called AFFS - Amiga fast file system| the section called BeFS - Il file system di BeOS| the section called BFS - UnixWare Boot file system| the section called FFS - File system veloce di BSD| the section called Accedere a HPFS da Linux| the section called File system QNX| the section called File system Xia
NetBSD: the section called FFS - File system veloce di BSD | the section called DOS FAT 12/16/32, VFAT | the section called ISO 9660 - File system per CD-ROM
NetWare 2.x: the section called NetWare file system / 286
NetWare 3.x, 4.x: the section called NetWare file system / 386 | the section called ISO 9660 - File system per CD-ROM
NetWare 5.x: the section called NetWare file system / 386 | the section called NSS - Novell Storage Services | the section called ISO 9660 - File system per CD-ROM
OpenBSD: the section called FFS - File system veloce di BSD | the section called DOS FAT 12/16/32, VFAT
OS/2: the section called Accedere a Ext2 da OS/2 | the section called DOS FAT 12/16/32, VFAT | the section called High Performance file system (HPFS) | the section called High Performance file system (HPFS) | the section called ISO 9660 - File system per CD-ROM | the section called JFS - File system journaled (HP-UX, AIX, OS/2 5, Linux) | the section called Accesso alla VFAT da OS/2 (VFAT-OS2)
QNX 4: the section called DOS FAT 12/16/32, VFAT | the section called ISO 9660 - File system per CD-ROM | the section called File system QNX
SCO OpenServer: the section called AFS - File system Acer Fast| the section called DTFS - Desktop file system| the section called EAFS - File system Acer Fast esteso| the section called HTFS - High throughput file system| the section called ISO 9660 - File system per CD-ROM | the section called S51K - SystemV 1K
SCO UnixWare: the section called BFS - UnixWare Boot file system| the section called DTFS - Desktop file system| the section called ISO 9660 - File system per CD-ROM | the section called S5| the section called VxFS - File system Veritas (HP-UX, SCO UnixWare, Solaris)
Alcuni file system con allocazione contigua: the section called BFS - UnixWare Boot file system, the section called ISO 9660 - File system per CD-ROM.
(da fare)
Alcuni file system basati su FAT: the section called DOS FAT 12/16/32, VFAT and the section called NWFS - File system NetWare di Novell.
(da fare)
Alcuni file system estesi: the section called EFS - Extent file system (IRIX) and the section called VxFS - File system Veritas (HP-UX, SCO UnixWare, Solaris).
(da fare)
Alcuni file system che usano gli alberi B+: the section called Macintosh Hierarchical file system - HFS, the section called NSS - Novell Storage Services, the section called File system Reiser e the section called File system Spiralog (OpenVMS).
I file system aggiornano la loro struttura informativa (chiamata metadati) con scritture sincrone. Ogni aggiornamento dei metadati può richiedere diverse scritture distinte e, se il sistema va in crash durante la sequenza delle scritture, i metadati possono rimanere in una situazione inconsistente.
Al successivo boot, il programma di verifica del file system (chiamato fsck) deve analizzare le strutture dei metadati, controllandoli e riparandoli. Questa operazione può richiedere un tempo molto lungo per file system molto grandi ed il disco può non contenere informazioni sufficienti per correggere la struttura. Da questo derivano file cancellati o incompleti.
Un file system di tipo "journaling" usa un'area separata chiamata log o journal. Prima di effettuare ogni cambiamento ai metadati, questo è registrato in un'area separata. Il cambiamento è quindi successivamente effettuato. Se il sistema va in crash durante l'operazione, ci sono informazioni sufficienti nel log per riprendere e completare l'operazione.
Questo approccio non richiede una verifica completa del file system, rendendo così molto veloce la verifica di file system molto grossi, in genere pochi secondi per un file system di molti gigabyte. In aggiunta, poichè tutte le informazioni sulle operazioni in sospeso sono salvate, non sono necessarie rimozioni e troncamenti. Lo svantaggio dei file system di tipo "journaling" è la maggiore lentezza rispetto ad altri file system.
Alcuni file system di tipo "journaling": the section called BeFS - Il file system di BeOS, the section called HTFS - High throughput file system, the section called JFS - File system journaled (HP-UX, AIX, OS/2 5, Linux), the section called NSS - Novell Storage Services, the section called File system Spiralog (OpenVMS), the section called VxFS - File system Veritas (HP-UX, SCO UnixWare, Solaris) e the section called XFS - File system esteso (IRIX).
� Documento sui tipi di partizioni scritto da Andries Brouwer < aeb@cwi.nl >
Homepage: �
Download: �
Autori: Andrew Clausen < clausen@gnu.org >, Lennert Buytenhek < buytenh@dsv.nl> e Matt Wilson < msw@redhat.com>.
Rapporti sui problemi: < bug-parted@gnu.org>,
Accesso: varia a seconda del file system, vedi dopo.
Licenza: GPL
Parted è utile per creare spazio per un nuovo sistema operativo, per riorganizzare l'utilizzo del disco, per copiare i dati tra gli hard disk e per il "disk imaging", replicare cioè una installazione su diversi computer.
Parted supporta le seguenti operazioni: file system Rileva Crea Ridimensiona Copia Verifica ext2 * * *1 *2 *3 fat * * *4 *4 * linux-swap * * * * *
NOTE:
(1) L'inizio della partizione deve rimanere fissa per ext2.
(2) La partizione sulla quale si copia deve essere più grande (o esattamente delle stesse dimensioni) della partizione da cui si copia.
(3) Una verifica ridotta è effettuata quando il file system è in uso. Questa è la sola verifica al momento. Tutti i comandi (incluso ridimensiona) falliscono senza danni, lasciando il file system intatto, se ci sono errori nel file system( come pure per molti degli errori in generale).
(4) Le dimensioni della nuova partizione, dopo i comandi ridimensiona o copia, è limitata dalle dimensioni del cluster nelle partizioni fat (principalmente FAT16). Questo è peggio di quanto tu possa pensare perchè il programma non ti permette di scegliere le dimensioni del cluster (questo è un baco di Windows, ma tu vuoi la compatibilità, giusto?).
Quindi, in pratica, puoi sempre ridurre la tua partizione (poichè Parted può ridurre le dimensioni del cluster), ma puoi non essere in grado di aumentare la partizione fino alle dimensioni desiderate. Se non hai problemi ad usare la FAT32, sarai sempre in grado di aumentare una partizione fino alle dimensioni che vuoi.
Riassunto: puoi sempre diminuire una partizione. Se non puoi usare la FAT32 per qualche motivo, potresti non essere in grado di aumentare la tua partizione.
Homepage: �
Download: ?
Autore: ?
Accesso: ?
Licenza: ?
Homepage: �
Download: ?
Autore: ?
Accesso: ?
Licenza: ?
Homepage: util-linux ?
Download: ?
Autore: ?
Accesso: ?
Licenza: ?
Homepage: e2progs ?
Download: ?
Autore: ?
Accesso: ?
Licenza: ?
Poichè io utilizzo solo macchine Intel x86, qualsiasi contributo (o la donazione di una macchina non-x86 ;-) ) è sicuramente benvenuto. Se puoi fornire qualche informazioni utile, non esitare a contattar mi.
(da fare)
La VTOC (Volume Table Of Contents, Contenuto delle tabelle dei volumi) di UnixWare divide il disco in 16 partizioni logiche. Il kernel di Linux supporta la VTOC di UnixWare; dovresti abilitare "UnixWare slices support (EXPERIMENTAL)" e ricompilare il kernel. Un altro modo per leggere la disklabel di UnixWare è usare il porting GPL del comando prtvtoc(1), che si trova nel package vxtools.
Homepage: �
Autore: Martin Hinner < mhi@penguin.cz>
Accesso: Solo lettura, supporta volumi OS/2, stripe e volumi Windows NT.
Download: �
Licenza: GPL
Homepage: ? MS ARTICLE ID: Q131658
Download: �
Autore: Microsoft Corp.
Licenza: ?
Homepage:?
Autore: Marc Zyngier <maz@wild-wind.fr.eu.org>
Accesso: Solo lettura, supporta i modi lineari, RAID-1, RAID-4 e RAID-5.
Download: kernel Linux, i programmi sono disponibili su �
Licenza: GPL
La versione Linux è disponibile su:
Homepage: �
Autore: Heinz Mauelshagen <mauelsha@ez-darmstadt.telekom.de>
Accesso: ?
Download: �
Licenza: GPL
Per maggiori informazioni sul gestore dei volumi Veritas guarda su �.
Vedi anche: the section called VxFS - File system Veritas (HP-UX, SCO UnixWare, Solaris).
Il gestore dei volumi logici è disponibile in OS/2 WarpServer 5. Ti permette di creare volumi lineari su diversi dischi o partizioni. Alcuni dicono che è compatibile con il gestore dei volumi di IBM AIX.
Vedi anche: the section called High Performance file system (HPFS), the section called JFS - File system journaled (HP-UX, AIX, OS/2 5, Linux)
StackVM è il gestore dei volumi di CrosStor. Usando StackVM l'amministratore può combinare diversi dischi fisici in un singolo dispositivo logico detto vdisk. Vdisk significa "virtual disk". I dischi fisici possono essere combinati per formare una concatenazione, RAID 0 (stripe), RAID 1 (mirror), RAID 4 o RAID 5. In aggiunta una singola partizione del disco può essere divisa in molteplici vdisk. Per maggiori informazioni vedi la homepage di CrosStor su �.
Windows 95/98 e Windows NT/2000 memorizzano i nomi lunghi della FAT in una voce speciale della directory con attivi gli attributi ReadOnly, Hidden,System e Volume, in modo che se tu accedi al volume FAT dal DOS non vedi questi "file". Queste speciali voci hanno questa strana struttura:
byte numero consecutivo di slot string(10) primi 5 caratteri nel nome byte byte degli attributi byte sempre 0 byte checksum per l'alias 8.3 string(12) altri 6 caratteri del nome word numero del primo cluster, 0 negli slot lunghi (long slots) string(4) gli ultimi 2 caratteri nel nome
Un problema nasce quando cancelli o modifichi un file con un nome lungo da un sistema senza il supporto della VFAT, perchè solo la voce DOS 8+3 sarà cancellata o modificata. Scandisk di Windows 95/98 può rimediare a questo problema.
Linux ha le sue proprie estensioni, chiamate UMSDOS, alla FAT, le quali forniscono nomi lunghi, diritti e proprietari, link e dispositivi speciali nelle partizioni FAT. Ogni directory contiene un file in cui sono memorizzati i nomi lunghi ed altri campi necessari. Per maggiore informazioni leggi il file /usr/src/linux/Documentation/file system/umsdos.txt. Autore del driver UMSDOS di Linux è Jacques Gelinas <jacques@solucorp.qc.ca> ed è attualmente manuntenuto da Matija Nalis <mnalis@jagor.srce.hr>.
OS/2 Warp versioni 3,4 e 5 memorizzano i nomi lunghi e gli attributi estesi dei volumi FAT nei file "\ea data. sf" e "\wp root. sf" (entrambi si trovano nella directory principale del file system). Da quanto mi risulta, non ci sono implementazioni note degli attributi estesi di OS/2 per altri sistemi operativi. Se puoi fornirmi informazioni riguardanti la struttura degli EA, non esitare a contattar mi.
Star LFN è un emulatore che permette ai programmi che girano sotto DOS 4.0 o superiori, di usare le funzioni per i nomi lunghi disponibili nella finestra DOS di Windows 95. Attualmente, il programma può solo leggere e scrivere nomi lunghi da e verso un file di sistema nascosto, il che significa che non puoi leggere o scrivere i veri nomi lunghi di Windows 95. Per maggiori informazioni vedi su �.
Homepage: �
Autore: Daniel Steiner <info@dsteiner.com>
Accesso: Lettura e scrittura, gli EA non sono supportati.
Mirror: �
Licenza: GPL
Alcuni dicono che la Microsoft abbia rilasciato un driver chiamato LFNDOS che fornisce l'API Microsoft sui nomi lunghi in ambiente DOS. Se sai dove questo driver può essere scaricato, mandami un mail per favore.
Homepage: �
Autore: Chris Jones <dosuser@bigfoot.com>
Accesso: Lettura e scrittura
Mirror: �
Licenza: Libero, codice sorgente disponibile
Sotto Windows 95, un programma DOS può usare i nomi lunghi chiamando un insieme di funzioni di interrupt, che Windows fornisce. Per esempio, COMMAND.COM permette i nomi lunghi quando eseguito al prompt del DOS all'interno di Windows ma non li permette se rifai partire la macchina in modalità MS-DOS. Altri programmi come EDIT.COM e tutti gli DJGPP usano i nomi lunghi se disponibili.
Homepage: �
Autore: Ortwin Glueck <glueck@freesurf.ch>
Accesso: lettura e scrittura, solo programmi di utilità DOS
Mirror: �
Licenza: ?
Homepage: �
Autore: Henks Kelder < hkelder@capgemini.nl >
Accesso: lettura e scrittura, nomi lunghi, gli EA non sono supportati.
Download: �
Licenza: gratis
Download: �
Autore: anonimo
Licenza: gratis o GPL ?
Homepage: �
Autori: Mark Russinovich <mark@sysinternals.com> e Bryce Cogswell <cogswell@winternals.com>.
Accesso: Solo lettura nella versione gratis, lettura e scrittura in quella commerciale.
Download: ?
Licenza: gratis (solo lettura) o commerciale (lettura e scrittura)
Homepage: �
Autore: Frank Gockel <gockel@sent13.uni-duisburg.de> e Pavel Pisa <pisa@cmp.fel k.cvut.cz>
Accesso: Stacker, Dblspace e Drvspace in lettura e scrittura, nomi lunghi.
Download: �
Freshmeat: Console/file system
Licenza: GPL
DoubleSpace / DriveSpace (MS-DOS 6.x)
DoubleSpace / DriveSpace (Windows 95)
DriveSpace 3 (Windows 95 con il pacchetto Plus!)
Stacker 3
Stacker 4
Download: �
Autore: Thomas Scheuermann <ths@ai-lab.fh-furtwangen.de>
Accesso: Dblspace e Drvspace in sola lettura.
Licenza: Vedi il copyright nei file. In pratica gratis
Homepage: �
Autore: Andrew Clausen <clausen@alphalink.com.au>
Download: �
Freshmeat: Console/file system
Accesso: Lettura e scrittura, supporto completo di FAT16/FAT32
Licenza: GPL
Probabilmente l'autore non rilascerà più nuove versioni di fsresize, perchè sta lavorando a parted, un clone di Partition Magic. Sarà capace di ridimensionare, copiare, creare e verificare file system e partizioni.
Homepage: ?
Autore: Arno Schaefer <schaefer@rbg.informatik.th-darmstadt.de>
Download: �
Licenza: GPL
Buoni link su HPFS:
� - una buona pagina sull'accessibilità di HPFS
� - IBM OS/2 Warp Server: Features & Benefits : File & Print
Homepage:�
Autore: Marcus Better Marcus.Better@abc.se
Download: �
Accesso: sola lettura
Licenza: GPL
iHPFS permette agli utenti OS/2 di usare le loro partizioni HPFS quando fanno il boot da DOS. La partizione HPFS è assegnata ad una lettera in modo che si possa accedervi come un qualsiasi disco DOS. L'accesso è in sola lettura.
Questo programma non è più sviluppato perchè l'autore non usa più OS/2. Se sei interessato a manuntenere il programma, contattalo.
Homepage: ?
Autore: Robert Muchsel <rmuchsel@iiic.ethz.ch> (questa email non funziona)
Accesso: Solo lettura
Licenza: Shareware ($23)
Homepage: �
Autore: Andreas Kinzler <akinzler@rbg.informatik.th-darmstadt.de> (questa email non funziona)
Download: �
Accesso: lettura e scrittura
Licenza: Shareware ($40)
Homepage: ?
Autore: Allan Mertner <mertner@login.dknet.dk> (questa email non funziona)
Download: �
Licenza: Shareware ($50)
Homepage:�
Autore: Mikulas Patocka < mikulas@artax.karlin.mff.cuni.cz >
Accesso: lettura e scrittura, attributi estesi, nomi lunghi.
Licenza: GPL
Se hai un kernel con supporto HPFS, abilita la voce "OS/2 HPFS file system support" nel sotto menu dei file system. Ricompila quindi il kernel, usando 'make dep bzImage', fai il reboot e prova a montare la partizione HPFS (ad es. mount /dev/hda2 /mnt -t hpfs).
Homepage: �
Download: �
Autore: Semen A. Ustimenko < semenu@FreeBSD.org >
Accesso: sola lettura
Licenza: BSD
Homepage:�
Download: �
Autore: Chris Behnken < nbehnken@htc.net >
Licenza: gratis
Riferimenti:
� Informazioni su NTFS 5
Rajeev Nagar, Windows NT File System Internals (O'Reilly).
Helen Custer, Inside the Windows NT File System, ISBN: 1-55615-660-X.
Documentazione su NTFS scritta da Regis Duchesne <regis@via.ecp.fr>, � o �
Microsoft TechNet, February 97, Windows NT Training: Support, NTFS
Homepage: http://www.sysinternals.com/ntfs20.htm
Autori: Mark Russinovich <mark@sysinternals.com> e Bryce Cogswell <cogswell@winternals.com>.
Accesso: sola lettura, nomi lunghi sotto DOS 7 e Win9x.
Homepage: �
Autore: Grenier Christophe < grenier@nef.esiea.fr >
Accesso: sola lettura (lettura e scrittura in fase sperimentale), nomi lunghi supportati, niente lettere di disco (tool dos)
Licenza: GPL
NTpwd contiene programmi da linea di comando per accedere a partizioni NTFS; è un porting su DOS del driver usato in Linux. Contiene anche un piccolo programma di utilità per cambiare una password di NT.
Homepage: �
Autore: Daniel Steiner < info@dsteiner.com >
Accesso: sola lettura, nomi lunghi supportati
Homepage: �
Autore: Martin von Löwis loewis@informatik.hu-berlin.de
Freshmeat: Console/file system
Homepage: �
Mirror: Incluso nel kernel ufficiale di Linux
Accesso: sola lettura, lettura/scrittura in fase sperimentale, compressione, niente cifratura
Licenza: GPL
Homepage: �
Autore: Semen A. Ustimenko <semenu@FreeBSD.org>
Mirror: Cerca i mirror di FreeBSD e NetBSD
Accesso: lettura + scrittura limitata, non supporta le codepage
Licenza: BSD
Homepage: �
Autore: Travis Geiselbrecht < geist@tamu.edu >
Download: �
Accesso: ?
Licenza: gratis
L'autore adesso lavora per la Be Inc. per cui il supporto per NTFS e ext2 non sarà aggiornato in tempi brevi. I driver saranno inseriti in future versioni di BeOS.
Autore: Standard & Western Software, http://www.sw-soft.com
Download: http://download.sw.com.sg/pub/Be/ntfs-rod-0302.tar.gz
Accesso: sola lettura.
Homepage: �
Autore: Winternals Software <info@wintern als.com>
Accesso: lettura e scrittura, copia e sostituzione di file.
Licenza: commerciale
Homepage: �
Autore: Winternals Software <info@winternals.com>
Accesso: versione gratis con sola lettura, versione commerciale con lettura e scrittura.
Licenza: gratis per la versione con sola lettura, commerciale per la versione con lettura e scrittura
Il file system esteso (ext fs), il secondo file system esteso (ext2fs) ed il terzo file system esteso (ext3fs) sono stati progettati e realizzati su Linux da Rémy Card, Laboratoire MASI--Institut Blaise Pascal, <card@masi.ibp.fr>, Theodore Ts'o, Massachussets Institute of Technology, <tytso@mit.edu> e Stephen Tweedie, University of Edinburgh, <sct@redhat.com>
� - La homepage di ext2. Questa è la principale fonte di informazioni su ext2.
� - Documento su ext2fs di John Newbigin.
� - Ext2fs_Rec (ext2 recognizer per WinNT).
Il secondo file system esteso è probabilmente il più utilizzato file system nella comunità Linux. Fornisce la semantica Unix standard per i file e caratteristiche avanzate. Inoltre, grazie alle ottimizzazioni incluse nel codice del kernel, è robusto ed offre prestazioni eccellenti.
Poichè ext2fs è stato progettato considerandone l'evoluzione, esso contiene hooks (agganci) che possono essere utilizzate per aggiungere nuove caratteristiche. Alcuni stanno lavorando su estensioni all'attuale file system: liste di controllo d'accesso conformi alla semantica Posix, undelete e compressione dei file "al volo".
Ext2fs è stato il primo sviluppato ed integrato nel kernel di Linux ed è ora attivamente portato su altri sistemi operativi. Un server ext2fs che gira sullo GNU Hard è stato realizzato. Alcuni stanno lavorando ad una versione per il server LITES, che gira sul micro kernel Mach e sul sistema operativo VSTa. In ultimo, Ext2fs è una importante parte del sistema operativo Masix, attualmente in sviluppo da parte di uno degli autori.
Il secondo file system è stato progettato e sviluppato per risolvere alcuni problemi presenti nel primo file system esteso. L'obiettivo era quello di fornire un file system potente, con la semantica del file di Unix e caratteristiche avanzate.
Ovviamente volevamo per Ext2fs prestazioni eccellenti. Volevamo anche fornire un file system robusto in modo da ridurre il rischio di una perdita dei dati. In ultimo, Ext2fs doveva prevedere la possibilità di estensioni in modo da permettere agli utenti di usufruire di nuove capacità senza riformattare i dischi.
Ext2fs supporta i tipi di file standard Unix: file regolari, directory, device speciali e link simbolici.
Ext2fs è in grado di gestire file system creati in partizioni veramente molto grandi. Mentre il codice originale nel kernel limitava il file system a 2 GB, un recente lavoro sul layer VFS ha alzato questo limite a 4 TB. Quindi è ora possibile usare dischi molto grandi senza la necessità di creare diverse partizioni.
Ext2fs getisce i nomi lunghi in quanto usa voci nella directory di lunghezza variabile. Il limite massimo per i nomi è 255 caratteri ma può essere esteso a 1012 se necessario.
Ext2fs riserva alcuni blocchi per il super utente (root). Normalmente il 5% dei blocchi è riservato. Questo permette all'amministratore di correggere facilmente situazioni dove i processi di un utente riempiono il file system.
In aggiunta alle caratteristiche standard Unix, Ext2fs supporta alcune estensioni che non sono normalmente presenti nel file system Unix.
Gli attributi dei file permettono agli utenti di modificare il comportamento del kernel quando opera su un insieme di file. Si possono definire attributi per un file o per una directory. Nel secondo caso, tutti i file creati successivamente nella directory erediteranno gli attributi.
Al momento del mount si può scegliere la semantica BSD o quella del System V Versione 4. Una opzione del mount permette infatti di scegliere la semantica per la creazione dei file. In un file system montato con la semantica BSD, i file sono creati con lo stesso id di gruppo della directory madre. La semantica System V è un pò più complicata: se la directory ha il bit setgid abilitato, i nuovi file ereditano l'di di gruppo della directory e le nuove sotto directory ereditano sia l'id di gruppo che il bit setgid; in caso contrario, file e directory sono creati con l'id di gruppo principale del processo.
Gli aggiornamenti sincroni alla BSD possono essere utilizzati in Ext2fs. Una opzione del mount permette all'amministratore di richiedere che i meta dati (inode, blocchi di bitmap, blocchi indiretti e blocchi di directory) vengano scritti in maniera sincrona su disco quando vengono modificati. Questo può essere utile per mantenere una rigida consistenza dei meta dati ma porta a prestazioni molto scarse. In realtà, questa possibilità non viene in genere usata, perchè, in aggiunta al decadimento delle prestazioni associato all'aggiornamento sincrono dei meta dati, può essere causa di corruzione dei dati utente che non vengono segnalati dal controllore del file system.
Ext2fs permette all'amministratore di scegliere le dimensioni del blocco logico quando viene creato un file system. Le dimensioni del blocco possono tipicamente essere di 1024, 2048 e 4096 byte. Usare blocco di grandi dimensioni può velocizzare le operazioni di I/O per le ridotte richieste di I/O e quindi per i minori spostamenti della testina del disco che devono essere fatti per accedere ad un file. D'altro canto blocchi grossi sprecano più spazio su disco: in media l'ultimo blocco di ogni file è pieno per metà, quindi, al crescere delle dimensioni del blocco, più spazio viene sprecato nell'ultimo blocco. Inoltre, molti dei vantaggi nell'usare blocchi grandi sono ottenuti dalle tecniche di pre allocazione del file system Ext2fs.
Ext2fs supporta i link simbolici veloci. Un link simbolico veloce non usa alcun blocco dati del file system. Il nome del file target non è salvato nel blocco dati ma nell'inode stesso. Questa politica permette di risparmiare spazio su disco (non servono blocchi dati) e velocizza le operazioni sui link (non è necessario accedere a blocchi dati). Naturalmente lo spazio all'interno degli inode è limitato per cui non tutti i link possono essere realizzati come link veloci. Le dimensioni massime del nome del file target sono 60 caratteri. Si prevede di poter estendere questo limite in futuro.
Ext2fs tiene traccia dello stato del file system. Un campo speciale nel super blocco è usato dal kernel per indicare lo stato del file system. Quando un file system è montato in lettura e scrittura, il suo stato è posto a 'Not Clean'. Quando è smontato o rimontato in sola lettura, il suo stato è posto a 'Clean'. Durante il boot, il controllore del file system usa queste informazioni per decidere se un file system deve essere controllato. Il codice del kernel tiene traccia anche degli errori in questo campo. Quando una inconsistenza è rilevata dal codice del kernel, il file system è marcato come 'Erroneus'. Il controllore del file system verifica questo in modo da forzare il controllo del file system indipendentemente dal suo stato.
Saltare sempre i controlli del file system può essere a volte pericoloso, per cui Ext2fs fornisce due modi per forzare i controlli ad intervalli regolari. Un contatore di mount è gestito nel super blocco. Ogni volta che il file system viene montato in lettura e scrittura, il contatore viene incrementato. Quando raggiunge il valore massimo (anch'esso memorizzato nel super blocco), il controllore del file system forza una verifica anche se il file system è 'Clean'. Anche la data dell'ultimo controllo ed il massimo intervallo consentito tra due controlli sono salvati nel super blocco. Questi due campi permettono all'amministratore del sistema di forzare controlli periodici. Quando l'intervallo massimo viene superato, il file system viene controllato indipendentemente dal suo stato.
Un attributo permette agli utenti di richiedere la cancellazione dei file in modo sicuro. Quando un file viene cancellato in maniera sicura, dati casuali vengono scritti nei blocchi su disco in precedenza usati dal file. Questo non permette a malintenzionati di ottenere l'accesso al precedente contenuto del file usando un disk editor.
In ultimo, nuovi tipi di file ispirati dal file system di BSD 4.4 sono stati di recente introdotti in Ext2fs. I file immutabili possono essere solo letti: nessuno può scriverci o cancellarli. Questo può essere utile per proteggere file di configurazione importanti. File a sola aggiunta possono essere aperti solo in scrittura ma i dati sono sempre aggiunti in fondo al file. Questi file non possono, come quelli immutabili, essere cancellati o rinominati. Questo tipo è particolarmente indicato per i log file.
La struttura fisica di un file system Ext2fs è stata fortemente influenzata dal layout del file system BSD. Un file system è costituito da gruppi di blocchi (analoghi ai gruppi di cilindri del file system BSD). Tuttavia i gruppi di blocchi non sono legati alla disposizione fisica dei blocchi sul disco poichè i dischi moderni tendono ad essere ottimizzati per un accesso sequenziale e nascondono la loro geometria fisica al sistema operativo ,---------+---------+---------+---------+---------, | Settore | Gruppo | Gruppo | ... | Gruppo | | di boot | bloc. 1 | bloc. 2 | | bloc. n | `---------+---------+---------+---------+---------'
Ogni gruppo di blocchi contiene una copia ridondante delle informazioni di controllo cruciali del file system (il super blocco e i descrittori del file system) e contiene anche una parte del file systsem (un blocco bitmap, una bitmap degli inode, una parte della tabella degli inode e i blocchi dato). La struttura del gruppo di blocchi è rappresentata in questa tabella: ,---------+---------+---------+---------+---------+---------, | Super | FS | Blocco | Bitmap | Tabella | Blocchi | | blocco | desc. | bitmap | inode | inode | dato | `---------+---------+---------+---------+---------+---------'
Usare i gruppi di blocchi è un grosso vantaggio per l'affidabilità: poichè le strutture di controllo sono replicate in ogni gruppo, è facile ripristinare un file system con il super blocco danneggiato. Questa struttura aiuta anche ad ottenere delle buone prestazioni: riducendo la distanza tra la tabella degli inode ed i blocchi dato, è possibile ridurre gli spostamenti della testina del disco durante l'I/O sui file.
In Ext2fs, le directory sono gestite con liste collegate con voci di dimensioni variabile. Ogni voce contiene il numero di inode, le dimensioni della voce, il nome del file e la sua lunghezza. Usando voci di dimensioni variabili, è possibile gestire i nomi lunghi senza sprecare spazio su disco.
In Linux, il codice Ext2fs nel kernel contiene molte ottimizzazioni per le prestazioni, le quali tendono a migliorare la velocità di I/O durante la lettura e la scrittura dei file.
Ext2fs si avvantaggia della gestione del cache buffer per eseguire delle letture in anticipo: quando un blocco deve essere letto, il codice del kernel richiede l'I/O di diversi blocchi contigui. In questo modo, si cerca di assicurare che il blocco successivo da leggere sia già caricato nel buffer. Le letture in anticipo sono normalmente effettuate durante l'accesso sequenziale dei file; Ext2fs le estende anche alla lettura delle directory, sia in modo esplicito (chiamate alla readdir(2)) sia in modo implicito (ricerca con namei).
Ext2fs contiene anche molte ottimizzazioni di allocazione. I gruppi di blocchi sono utilizzati per raggruppare insieme inode e dati correlati: il codice del kernel cerca sempre di allocare per un file blocchi dato nello stesso gruppo di blocchi del suo inode. Questo per ridurre gli spostamenti della testina del disco quando si leggono un inode ed i suoi blocchi dato.
Nello scrivere dati in un file, Ext2fs prealloca fino a 8 blocchi adiacenti quando alloca un nuovo blocco. La preallocazione ha una percentuale di successo di circa il 75%, anche su un file system molto pieno. Con questa preallocazione si raggiungono buone prestazioni in scrittura a pieno carico. Permette anche che blocchi contigui siano allocati per lo stesso file, velocizzando così le future letture sequenziali.
Questi due ottimizzazioni nelle allocazioni producono una localizzazione molto buona di:
file collegati fra di loro, attraverso i gruppi di blocchi
blocchi collegati fra di loro, attraverso gli 8 bit di raggruppamento della allocazione dei gruppi.
Ext3 possiede le stesse caratteristiche di Ext2 ma include anche il journaling. Si può scarica la versione preliminare da �.
Homepage: �
Download: �
Responsabile: Peter Moulder <reiter@netspace.net.au>
Freshmeat: Console/file system
Accesso: come per ext2 (lettura/scrittura, nomi lunghi)
Licenza: GPL tranne gli algoritmi di compressione (diverse licenze)
Download:ftp://sunsite.unc.edu/pub/Linux/system/file system/ext2/
Accesso: sola lettura, nessuna lettera di disco (programmi di utilità speciali)
Autore: Claus Tondering <ct@login.dknet.dk>
Accesso: ?
Licenza: ?
Homepage: �
Autore: Werner Zimmermann <Werner.Zimmermann@fht-esslingen.de>
Homepage: �
Mirror: � (solo le principali versioni)
Accesso: lettura, scrittura e modifica, nomi lunghi
Licenza: GPL
Homepage:�
Autore: Matthieu WILLM <willm@ibm.net> , <matthieu.willm@wanadoo.fr>
Download: �
Freshmeat: Console/file system
Accesso: lettura/scrittura e boot da e verso Ext2, supporto per i media removibili ma non per gli attributi estesi.
Homepage:http://www.yipton.demon.co.uk/
Autore: Peter van Sebille pvs@globalxs.nl , pese@nlnwgfsc.origin.nl
Freshmeat: Console/file system
Accesso: sola lettura, supportati i nomi lunghi
Homepage:�
Accesso: lettura e scrittura, nomi lunghi, link simbolici, etc..
Autore: John Newbigin <jn@it.swin.edu.au>
Licenza: GPL
Homepage: �
Download: �
Autore: Andrey Shedel < andreys@cr.cyco.com >
Freshmeat: Console/file system
Licenza: gratis
Accesso: lettura e scrittura, nomi lunghi, sicurezza, page file, link hard.
Homepage: �
Autore: Travis Geiselbrecht < geist@tamu.edu >
Accesso: sola lettura, supportati i nomi lunghi.
Licenza: gratis
L'autore lavora adesso per la Be Inc per cui non si vedrà il suo supporto per Ext2 e NTFS aggiornato su web per molto tempo. I driver dovrebbero essere inseriti nelle future versioni di BeOS.
Homepage: �
Autore: ?
Download: ?
Homepage: �
Autore: <yescrew@capybara.sk-pttsc.lj.edus.si>
Download: ?
Licenza: GPL
Download: �
Autore: Stephen C. Tweedie < sct@redhat.com >
Licenza: GPL
Homepage: �
Download: �
Autore: Lennert Buytenhek <buytenh@dsv.nl>.
Licenza: GPL
Homepage: �
Responsabile: Mike Field <mafield@the.net.nz>
Licenza: copyright di Mike Field. Diventerà GPL una volta stabile.
Homepage: �
Download: �
Autori: tytso@mit.edu e card@masi.ibp.fr
Porting su Windows NT: �
Freshmeat: Console/file system
Licenza: GPL
Homepage: ?
Autore: tgud@tochnapc2.technion.ac.il.
Download: �
Licenza: GPL
Homepage: ?
Autore: Scott D. Heavner <sdh@po.cwru.edu>.
Download: �
Licenza: GPL
Homepage: �
Autori: Gunther Costas, Wilfredo Lugo, Jerry Ramirez <undelete@amadeus.uprm.edu>
Freshmeat: Console/file system
Licenza: GPL
Tutti i dispositivi di memorizzazione dei MacIntosh, ad esclusione dei floppy, sono partizionati su uno o più volumi. I volumi contengono quattro tipi di voci: file, directory, directory concatenate e file concatenati. Ogni voce è descritta da un record catalogo, analogo agli inode Unix. I record catalogo sono organizzati su disco in un albero bilanciato (B-tree). Solo un file può occupare spazio fuori da questi record catalogo.
Un file MacIntosh contiene due componenti o fork. Il fork di risorse è un file indicizzato contenente segmenti di codice, voci dei menu, finestre di dialogo,etc. Il fork dati ha la semantica Unix di una sequenza di byte. Ogni fork è costituito da uno o più gruppi di blocchi contigui. Un descrittore dimensionale codifica in un numero a 32bit il blocco iniziale e la lunghezza. Il primo record dimensionale (tre descrittori dimensionali) di ogni fork è parte del record catalogo del file. Ogni successivo record dimensionale viene tenuto nel'albero B-Tree dimensionale per gli overflow.
In aggiunta alle estensioni per file e B-Tree, un volume contiene anche due blocchi di boot, un blocco di informazioni sul volume ed una bitmap dello spazio libero. C'è una notevole quantità di ridondanza nelle strutture dati su disco, la quale favorisce il recupero da crash. Sebbene non strettamente parte del file system, bisogna notare che diversi campi dei record catalogo sono riservati ad uso esclusivo di Finder, un programma che gestisce l'accesso degli utente al file system e mantiene automaticamente le associazioni tra l'applicazione ed il file dati. Così, HFS deve anche mantenere le informazioni di Finder.
Ogni file e directory in un volume HFS possiede un numero identificativo, simile al numero di inode nel file system Unix. Tuttavia, un file o directory è chiamato a partire dal numero identificativo del genitore e dal nome del file o directory, una stringa di 32 caratteri anche nulli. Questa combinazione è la chiave di ricerca del B-Tree catalogo del volume. Il B-Tree catalogo differisce da un tradizionale struttura B-Tree nel fatto che tutti i nodi ad ogni livello dell'albero sono collegati fra di loro a formare una doppia lista collegata e che tutti i record sono nei nodi foglia. Queste variazioni permettono di accedere a molte voci in una stessa directory attraversando le foglie usando le liste collegate. Per essere precisi, i B-Tree di HFS sono varianti dei B+-Tree sebbene la documentazione tecnica di Apple li chiami B*-Tree.
Ogni directory, inclusa la directory root, contiene il proprio directory thread, il quale contiene un nome vuoto. Il record del directory thread contiene il nome della directory e l'id del genitore della directory. In maniera simile, un file thread contiene il nome del file e l'id della directory che lo contiene.Mentre ogni directory deve contenere un directory thread, i file thread sono poco comuni. Infatti, entrambi sono esempi della ridondanza di HFS: per alberi non danneggiati, i thread non sono strettamente necessari. I record dei file e delle directory contengono entrambi 32 byte di informazioni uilizzati da Finder. I primi tre descrittori dimensionali per il B-Tree catalogo sono memorizzati nel blocco di informazioni del volume. Se il B-Tree catalogo cresce oltre i tre descrittori, i rimanenti descrittori dimensionali sono memorizzati nell'overflow dimensionale.
I file system HFS e HFS+ (chiamato anche Sequoia) sono molte ben documentati. La miglior fonte di informazioni tecniche su HFS è la serie di libri Inside Macintosh. Vedi su �. Il file system HFS+ è descritto in Nota tecnica 1150, disponibile su �. Molte informazioni sonon disponibili anche in altre note tecniche. I seguenti link sono raccolti da Paul H. Hargrove:
� - HFS Ruminations.
� - Hey, Buddy, Can You Spare A Block?
� - Alias Manager Q&As
� - File Manager File Handling Q&As
� - File Manager Volume Handling Q&As
� - Bizarre Extension Loading Order: BackQuote Sorts Between "A" and "B"
� - Finder Q&As
Homepage: �
Autore: Paul. Hargrove <hargrove@sccm.stanford.edu>
Freshmeat: Console/file system
Licenza: GPL
Homepage: �
Autore: Marcus Better <Marcus.Better@abc.se>
HFS/2 permette ad utenti OS/2 di leggere e scrivere facilmente file su floppy formattati con HFS, il file system usato dai computer MacIntosh. Con HFS/2, i dischetti MacIntosh possono essere usati come normali dischetti.
Il programma non è più sviluppato perchè l'autore non usa più OS/2. Se sei interessato ad usare il programma, contattalo.
Homepage: �
Autore: Lauri Pesonen <lpesonen@nic.fi>
Accesso: Lettura e scrittura da floppy, dischi ZIP e file su volumi virtuali. Sola lettura a HFS e CD ibridi.
Licenza: GPL
Homepage: ?
Autore: Paul E. Thomson
Download: �
Accesso: sola lettura
Licenza: Shareware ($34)
Homepage: �
Autore: Robert Leslie <rob@mars.org>
OS/2 port: �
Il pacchetto hfsutil contiene un insieme di programmi di utilità da linea di comando quali hformat, hmount, hdir, hcopy, etc. Queste permettono di accedere in lettura e scrittura a file e directory nei volumi HFS.
Tech report: �
Autori: Peter A. Dinda <pdinda+macfs@cs.cmu.edu>, George C. Necula, and Morgan Price
Download: �
Accesso: lettura e scrittura, pieno supporto per open,read,write,seek e close
Licenza: gratis per usi non commerciali e non militari, vedi �
Link utili su ISO-9660:
� - Specifiche ISO-9660 (cioè ECMA-119, cioè High Sierra)
Estensioni che permettono nomi lunghi e link simbolici tipo Unix.
Link utili su RockRidge:
Joliet è una estensione Microsoft al file system ISO 9660 che permette di usare caratteri Unicode nei nomi dei file. Questo è utile per gestire le internazionalizzazioni. Come le estensioni Rock Ridge, anche Joliet permette i nomi lunghi.
I CD ibridi contengono tre file system su un disco solo: ISO9660/RR, Joliet e HFS. Questo CD sono accessibili sotto DOS, Unix, MacIntosh e Windows 9x/NT. Tutti e tre i file system utilizzano gli stessi dati, solo i metadati sono distinti.
Homepage: �
Autore: Gertjan van Ratingen <gertjan@iae.nl>
Licenza: ?
Download: & #65533;
Autore: IBM
Licenza: ?
Homepage: �
Download: ?
Autore: Mariusz Borkowski <borkowsm@ii.pw.edu.pl>
Licenza: ?
Questo add-on per file system permette, se il drive CD lo supporta, di gestire un normale CD audio come un insieme di file WAV. Si possono copiare i file, codificarli come MP3, eseguirli lentamente, velocemente ed anche all'indietro.
Homepage: �
Download: �
Autore: Michiel Ronsse <ronsse@elis.rug.ac.be>
Licenza: GPL
Homepage: �
Download: �
Autore: <j.pearson@ge.ucl.ac.uk>
Licenza: ?
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>.
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>.
BeFS è the section called Introduzione ai file system di tipo "logging/journaling" 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:
Homepage: �
Download: �
Autore: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Accesso: sola lettura
Licenza: GPL
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 the section called Introduzione ai file system con allocazione contigua. 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:
Homepage: �
Download: nel kernel di Linux. Patch disponibili sul sito.
Autore: Tigran A. Aivazian <tigran@ocston.org>
Licenza: GPL
Accesso: lettura e scrittura (la parte di scrittura è limitata; manca ancora la compattazione).
Esiste anche una mia vecchia versione, ora obsoleta. Il mio piano è quella di portare questo codice in FreeBSD.
Homepage: �
Download: �
Autore: Martin Hinner <mhi@penguin.cz>
Licenza: GPL
Accesso: sola lettura
Questo è il nuovo nome per il High throughput file system (HTFS). Per maggiori informazioni consulta il sito di CrosStor �.
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:
Download: �
Licenza: commerciale?
Accesso: lettura e scrittura
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 the section called Introduzione ai file system di tipo "logging/journaling", 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.
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.
Homepage: �
Download: �
Autore: Al Smith <Al.Smith@aeschi.ch.eu.org>
Licenza: GPL
Accesso: sola lettura
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.
Download: �
Autore: J.A. Gutierrez <spd @ivo.cps.unizar.es>
Licenza: GPL
Accesso: IRIX EFS a sola lettura e Sun UFS
Link utili:
Breve descrizione del file sistem EFS di Irix: �
Questo è il file system nativo per molti unix BSD (FreeBSD, NetBSD, OpenBSD, Sun Solaris, ...).
Vedi anche: the section called SFS - File system sicuro, the section called UFS.
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.
Questo è il secondo hfs che appare in questo HOWTO. E' usato nelle vecchie versioni di HP-UX.
Link utili:
Whitepaper sul file system di SCO OpenServer 5: �
Driver commerciale per lettura e scrittura disponibile dalla CrosStor:
Download: �
Licenza: Commerciale?
Accesso: lettura e scrittura
Homepage: �
Download: �
Autori: Steve Best <sbest@us.ibm.com> e Dave Kleikamp <shaggy@us.ibm.com>
Licenza: GPL
Accesso: ?
Il file system per Linux struttura a log è chiamato d(t)fs:
Homepage: �
Autore: Christian Czezatke <e9025461@student.tuwien.ac.at>
Licenza: GPL
Accesso: lettura e scrittura, nomi lunghi, etc
Ci sarà anche una mailing list che sarà annunciata sulla home page. Per maggiori informazioni vedi: �
� - La homepage di kfs Cornelius "Kees" Cook ha iniziato un progetto di file system strutturato a log per Linux, prima che dtfs iniziasse.
� - Una altra implementazione (morta) di LFS ;-)
� - La pagina su LFS di Margo Seltzer < margo@das.harvard.edu>
MFS è il file system originale di Macintosh. E' stato sostituito da HFS / HFS+. Se puoi fornirmi ulteriori informazioni, mandami una mail per favore.
Questo è il file system nativo di Minix. E' stato anche usato nella prima versione di Linux.
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.
Questo è un nuovo file system the section called Introduzione ai file system di tipo "logging/journaling" a 64 bit che utilizza algoritmi the section called Introduzione ai file system basati su alberi bilanciati (btree). E' utilizzato in Netware 5 di Novell.
� - Whitepaper su NSS
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'.
Download: Nel kernel :)
Autore: Frank Denis <j@4u.net> (responsabile), Richard Frowijn
Licenza: GPL
Accesso: lettura (tranne per i file multi-extent), scrittura (sperimentale)
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:
La homepage del file system Reiser �
Autore della versione Linux di RomFS è Janos Farkas < chexum@shadow.banki.hu >. Per maggiori informazioni vedi /usr/src/linux/Documentation/file system/romfs.txt.
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:
� - Documentazione UnixWare 7: File system SFS
Spiralog è un file system a 64 bit ad alte prestazioni. Spiralog combina la tecnologia basata su the section called Introduzione ai file system di tipo "logging/journaling"log con la più tradizionale tecnologia the section called Introduzione ai file system basati su alberi bilanciati (btree)B-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:
La homepage del progetto System V Linux project si trova su �. Responsabile di questo progetto è <kgb@manjak.knm.pl.org>.
Il file system Acer Fast è utilizzato su Open Server di SCO. E' simile al file system di System V Release 4 ma usa bitmap invece di liste concatenate di blocchi liberi.
Il file system AFS può essere esteso per gestire nomi di file fino a 255 caratteri ma le voci nelle directory hanno ancora nomi di 14 caratteri. Questo file system è utilizzato su OpenServer di SCO.
Standard Philips per la codifica di dischi e tracce di dati su CD-Audio.
Esiste un driver Linux per il file system UDF:
Homepage: �
Download: �
Autore: Dave Boynton <dave@trylinux.com>
Mailing-list: <linux_udf@hootie.lvld.hp.com>
Licenza: GPL
Accesso: sola lettura
Nota: molti chiamano incorrettamente the section called FFS - File system veloce di BSD 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:
� - Implementazione del write-clustering per il UFS di Sun
Vedi anche: the section called FFS - File system veloce di BSD
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: �.
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:
� - Veritas Inc < vx-sales@veritas.com>.
� - VxFS ODM FS Admin - UnixWare 7 (documentazione, molto valida).
� - VxFS FS Manager - UnixWare 7 (documentazione).
� - VxFS - Reliant Unix.
Vedi anche: the section called VxVM - Gestore del volumi Veritas e the section called Introduzione ai file system di tipo "logging/journaling".
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
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.
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:
� Whitepaper su XFS
Il porting di XFS su Linux, con licenza GNU GPL, è disponibile dalla SGI Inc.:
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 >.
Questo HOWTO non riguarda i file system di rete ma devo almeno menzionarli.
Questa è una breve lista di alcuni che conosco.
Homepage: �
Download: �
Autore: CMU Coda Group <braam@coda.cs.cmu.edu>.
Licenza: GPL
Accesso: lettura e scrittura
Homepage: �
Download: �
Autore: Stelias e Redhat <info@stelias.com>.
Licenza: GPL
Accesso: lettura e scrittura
Homepage: ?
Download: ?
Autore: Matt Blaze <mab@research.att.com>.
Licenza: ?
Accesso: lettura e scrittura, usa DES/3DES.
Homepage: �
Download: �
Autori: Luigi Catuogno <luicat@ tcfs.dia.unisa.it>, Aniello Del Sorbo <anidel@tcfs.dia.unisa.it>, Luigi Della Monica <dellui@tcfs.dia.unisa.it>, G.Cattaneo <cattaneo@dia.unisa.it>, G.Persiano (�), Ermelindo (Erry) Mauriello <errmau@tcfs.dia.unisa.it>, Angelo Celentano <angcel@tcfs.dia.unisa.it>, Andrea Cozzolino <andcoz@tcfs.dia.unisa.it>.
Licenza: GPL
Accesso: lettura e scrittura trasparente usando CBC-DES/3DES/RC5/IDEA/Altri.
Homepage: �
Licenza: ?
Accesso: ?
Non ho ancora trovato in Rete una buona pagina sulla scrittura di driver (redirector di rete) DOS. La fonte migliore è la lista di interrupt di Ralf Brown ed il codice sorgente di the section called Accedere a HPFS da DOS (iHPFS).
La pagina Microsoft sul kit IFS (�) dovrebbe essere utile in quanto miglior modo per entrare nello sviluppo dei file system di NT (anche per il suo costo di $1K).
Per maggiori informazioni sulla scrittura di driver FS per Windows NT vedi � di <bosse@acc.umu.se>.
� - una buona pagina sui file system
� - Linux overlay file system di <artnaseef@worldnet.att.net>.
� - Gestione dei diritti su Linux
� - Transparent Cryptography file system
� - Il Large file Summit - Affronta il problema dei file più grandi di 2Giga su computer a 32 bit
� - Il progetto CODA (un file system distribuito basato su AFS)
� - Pagine relative a LFS
� - Linux Kernel H acker's guide
� - Large disk HOWTO
� - Linux devfs
� - Il Global File System (GFS)
� - Il file system/2 virtuale di Toronto
� Drive IFS su RAM dinamica per OS/2
� - Documentazione in linea su UnixWare e SCO Unix
� - Documentazione in linea su UnixWare 7
� - Inside OS/2 LAN Server 4.0
� - Linux UserFS, permette di scrivere un processo Linux che realizza un file system.
� - Multi Disk System Tuning HOWTO di Stein Gjoen.
� - Linux Today: interessantissimo elenco di file system stilato da Kragen.
� - Il file sistem UNix di Kristian Kohntopp (in tedesco).