1. Introduzione

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

1.1. Copyright

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.

1.2. Mailing list sui file system

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".

1.3. File system collection su metalab.unc.edu

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, .

1.4. Riconoscimenti

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:

Molte grazie a queste persone. Se ho dimenticato qualcuno, fatemelo sapere.

1.5. Mappa di accessibilità dei file system

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: la Sezione 9.9 | la Sezione 4.6 | la Sezione 5.5

Linux: la Sezione 9.2| la Sezione 9.3| la Sezione 9.4| la Sezione 9.9| la Sezione 4.5| la Sezione 9.20| la Sezione 9.33

NetBSD: la Sezione 9.9 | la Sezione 3 | la Sezione 8

NetWare 2.x: la Sezione 9.17.1

NetWare 3.x, 4.x: la Sezione 9.17.2 | la Sezione 8

NetWare 5.x: la Sezione 9.17.2 | la Sezione 9.18 | la Sezione 8

OpenBSD: la Sezione 9.9 | la Sezione 3

OS/2: la Sezione 6.7 | la Sezione 3 | la Sezione 4 | la Sezione 4 | la Sezione 8 | la Sezione 9.13 | la Sezione 3.5

QNX 4: la Sezione 3 | la Sezione 8 | la Sezione 9.20

SCO OpenServer: la Sezione 9.26.1| la Sezione 9.6| la Sezione 9.26.2| la Sezione 9.12| la Sezione 8 | la Sezione 9.26.5

SCO UnixWare: la Sezione 9.4| la Sezione 9.6| la Sezione 8 | la Sezione 9.26.4| la Sezione 9.31

1.6. Introduzione ai file system con allocazione contigua

Alcuni file system con allocazione contigua: la Sezione 9.4, la Sezione 8.

1.7. Introduzione ai file system con allocazione a liste collegate

(da fare)

1.8. Introduzione ai file system basati su FAT

(da fare)

Alcuni file system basati su FAT: la Sezione 3 and la Sezione 9.17.

1.9. Introduzione ai file system basati su inode

(da fare)

1.10. Introduzione ai file system estesi (Extent)

(da fare)

Alcuni file system estesi: la Sezione 9.8 and la Sezione 9.31.

1.11. Introduzione ai file system basati su alberi bilanciati (btree)

(da fare)

Alcuni file system che usano gli alberi B+: la Sezione 7, la Sezione 9.18, la Sezione 9.21 e la Sezione 9.25.

1.12. Introduzione ai file system di tipo "logging/journaling"

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": la Sezione 9.3, la Sezione 9.12, la Sezione 9.13, la Sezione 9.18, la Sezione 9.25, la Sezione 9.31 e la Sezione 9.32.

1.13. Altre caratteristiche dei file system