File systemUn 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). |
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, Msdos, umsdos, iso9660(il file system standard per cdrom), vfat(Windows 95/98),...
Esiste uno standard denominato FHS (Filesystem Hierarchy Standard) che descrive la disposizione dei file e delle directory su sistemi di tipo Unixcompatibili. 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:
statici o variabili;
condivisibili o non condivisibili;
indispensabili per l'avvio del sistema o meno.
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.
| / | 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 |