File system

Un file system è il metodo e la struttura dei dati che un sistema operativo utilizza per gestire i file sulle unità fisiche presenti (disco fisso, floppy, cd-rom).





organizzazione dei file|file system standard



Con file system si indica spesso una partizione o un disco dedicato ad una particolare funzione. Avere due file system ad esempio significa avere due partizioni su disco fisso con due differenti metodi di gestione dei file; è il caso comune per la maggior parte delle persone che tengono su una partizione GNU/Linux e un altro sistema operativo sull'altra.

Per creazione di un file system si intende l'inizializzazione di una partizione o di un disco utilizzando il metodo di gestione dei file scelto. Ogni sistema operativo utilizza un file system in maniera nativa, di base, e ne supporta ulteriori per determinate esigenze.

Questo è il caso di GNU/Linux che adotta il file system ext2 in forma nativa, ma supporta una ampia e variegata serie di file system esistenti: minix, xia, ext, Ms–dos, umsdos, iso9660(il file system standard per cd–rom), vfat(Windows 95/98),...



Organizzazione dei file

Esiste uno standard denominato FHS (Filesystem Hierarchy Standard) che descrive la disposizione dei file e delle directory su sistemi di tipo Unix–compatibili. Le distribuzioni GNU/Linux più diffuse si attengono anche loro a queste speciiche ed organizzano il proprio file system con struttura ad albero.

Quando si organizza un file system è importante distinguere tra diversi tipi di file:

Ciò che è statico può essere reso accessibile in sola lettura (esecuzione compresa), mentre il resto deve essere accessibile necessariamente anche in scrittura. Ciò che è condivisibile può essere utilizzato da più elaboratori contemporaneamente, il resto no. Ciò che è indispensabile per l'avvio dell'elaboratore, non può, o comunque non dovrebbe essere collocato in file system remoti.

Purtroppo non è detto che la distinzione sia sempre netta.


File system hierarchy standard

/ E' la radice (root) di sistema. E' la base del nostro albero, il livello più alto del sistema di riferimento. Genericamente non contiene file, ma solamente le altre importanti directory di sistema.
/bin Directory dove risiedono i comandi basilari utilizzati durante l'avvio del sistema e per le procedure basilari di autenticazione.
/sbin Directory dove risiedono i comandi basilari per la gestione del sistema, chiaramente non destinati agli utenti.
/dev Directory dove sono posizionati i dispositivi necessari per accedere a periferiche o sistemi di memorizzazione.
/etc Directory dove sono disposti i file di configurazione del sistema.
/home Directory dove vengono dislocate le home degli utenti, ovvero lo spazio riservato ad ogni singolo utente
/lib Directory delle librerie condivise dai programmi e utili per il loro funzionamento.
/proc E' un file-system virtuale inesistente sul disco. Viene utilizzato per disporre informazioni di sistema.
/tmp Directory dei file temporanei.
/var Dati variabili, code di stampa.
/usr E' la directory che contiene gran parte dei programmi esistenti nel sistema e per questo motivo ha dimensioni superiori alle directory precedentemente esaminate. Al suo interno esistono ulteriori gerarchie:
/usr/X11R6 Directory destinata al sistema X di Window
/usr/bin Gran parte dei comand utente
/usr/games Giochi e programmi educativi
/usr/include Directory desinata a contenere i file header
/usr/lib Libreria
/usr/local Gerarchia locale
/usr/sbin Programmi di sistema non essenziali
/usr/share Dati indipendenti dall'architettura hardware
/usr/src Directory delle sorgenti


organizzazione dei file|file system standard