next up previous contents index
Next: Quale filesystem bisogna usare? Up: I filesystem Previous: Che cosa sono i

Filesystem a go-go

Linux supporta diversi tipi di filesystem. Al momento in cui sto scrivendo, i più importanti sono:

minix
Il più vecchio, e si presume il più affidabile, ma piuttosto limitato (mancano alcuni time stamp, e i nomi di file sono al massimo di 30 caratteri) e di capacità ristrette (al massimo 64 MB per filesystem).
xia
Una versione modificata del filesystem minix, che alza i limiti sulla lunghezza dei nomi di file e sulla dimensione dei filesystem, ma non introduce nuove caratteristiche. Non è molto conosciuto, ma si dice funzioni molto bene.
ext2
Il più completo dei filesystem nativi di Linux, e al momento anche il più usato. È disegnato per essere compatibile in avanti, in modo che nuove versioni del codice del filesystem non abbiano bisogno di rifare i filesystem esistenti.
ext
Una versione più vecchia dell'ext2 che non era compatibile in avanti. Non è usato quasi mai in nuove installazioni, perché la maggior parte delle persone si sono convertite all'ext2.
Oltre a questi vengono supportati molti filesystem di altri sistemi operativi, per rendere più semplice lo scambio di file; questi filesystem funzionano come quelli nativi, tranne per la mancanza di alcune caratteristiche normali di quelli UNIX, oppure hanno delle limitazioni curiose, o altre stranezze.
msdos
Compatibilità con i filesystem FAT di MS-DOS (e OS/2 e Windows NT).
umsdos
Estende il driver del filesystem msdos sotto Linux, in modo da avere i nomi di file lunghi, i permessi, i link e i file di device, e da assegnare ciascun file ad un utente. In questo modo è possibile usare un normale filesystem msdos come se fosse uno Linux, eliminando la necessità di avere una partizione separata per Linux.
iso9660
Il filesystem standard per i CD-ROM: viene supportata automaticamente l'estensione Rock Ridge allo standard per i CD-ROM, che permette di avere i nomi dei file lunghi.
nfs
Un filesystem di rete che permette di condividere un filesystem tra vari computer per avere da essi un accesso più facile ai file.
hpfs
Il filesystem di OS/2.
sysv
I filesystem SystemV/386, Coherent e Xenix.
La scelta del filesystem da usare dipende dalla situazione. Se ci sono ragioni di compatibilità o altre ragioni che rendono indispensabile l'uso di uno dei filesystem non nativi, deve essere usato quello. Se si può scegliere liberamente, allora probabilmente la scelta più saggia è l'ext2, dato che ha tutte le caratteristiche e la sua performance è la migliore.

Esiste anche il filesystem proc, di solito accessibile nella directory /proc , che in realtà non è per niente un filesystem, anche se gli assomiglia. Il filesystem proc permette di avere facile accesso ad alcune strutture di dati del kernel, come la lista dei processi (da cui il nome). Fa apparire queste strutture di dati come un filesystem, e quel filesystem può essere manipolato con i normali strumenti di manipolazione di file. Ad esempio, per avere un elenco di tutti i processi si può usare il comando

$ ls -l /proc
total 0
dr-xr-xr-x 4 root root 0 Jan 31 20:37 1
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95
dr-xr-xr-x 4 root users 0 Jan 31 20:37 98
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99
-r--r--r-- 1 root root 0 Jan 31 20:37 devices
-r--r--r-- 1 root root 0 Jan 31 20:37 dma
-r--r--r-- 1 root root 0 Jan 31 20:37 filesystems
-r--r--r-- 1 root root 0 Jan 31 20:37 interrupts
-r-------- 1 root root 8654848 Jan 31 20:37 kcore
-r--r--r-- 1 root root 0 Jan 31 11:50 kmsg
-r--r--r-- 1 root root 0 Jan 31 20:37 ksyms
-r--r--r-- 1 root root 0 Jan 31 11:51 loadavg
-r--r--r-- 1 root root 0 Jan 31 20:37 meminfo
-r--r--r-- 1 root root 0 Jan 31 20:37 modules
dr-xr-xr-x 2 root root 0 Jan 31 20:37 net
dr-xr-xr-x 4 root root 0 Jan 31 20:37 self
-r--r--r-- 1 root root 0 Jan 31 20:37 stat
-r--r--r-- 1 root root 0 Jan 31 20:37 uptime
-r--r--r-- 1 root root 0 Jan 31 20:37 version
$
(ci saranno alcuni file in più che non corrispondono a processi. L'esempio qui sopra è stato accorciato).

Notate che anche se si chiama filesystem, nessuna parte del filesystem proc tocca nessun disco: esiste solo nell'immaginazione del kernel. Quando si cerca di guardare una qualsiasi parte del filesystem proc, il kernel fa sembrare che esista da qualche parte, ma non lo fa. Quindi, anche se c'è un file /proc/kcore  di qualche mega, non prende spazio disco.


next up previous contents index
Next: Quale filesystem bisogna usare? Up: I filesystem Previous: Che cosa sono i
root
1998-11-08