Système de fichiers
Un article de Freepedia.
Sommaire |
Description
En informatique, un système de fichiers (FS ou FileSystem en anglais) est une méthode d'organisation des données persistantes sur un médium durable (par exemple : disque dur, disquette, CDROM, clef USB ...).
Le système de fichiers offre à l'utilisateur une vue abstraite sur ses données. L'unité de stockage est le fichier, qui est une séquence d'octets ; les fichiers sont groupés dans des collections nommées répertoires ; les répertoires sont organisés en arborescence (il y a un répertoire racine et des sous-répertoires).
Ainsi, l'organisation physique sous-jacente du médium utilisé (blocs, linéaire) et les mécanismes d'entrée/sortie de bas-niveau sont masqués. L'utilisateur peut donc organiser ses données permanentes en les distribuant dans différents fichiers ; le contenu des fichiers est déterminé par leur format, qui dépend de l'application utilisée.
En plus de cette organisation abstraite, les systèmes de fichiers peuvent inclure la compression ou le chiffrement automatique des données, une gestion plus ou moins fine des droits d'accès aux fichiers, et une journalisation des écritures (pour la robustesse, en cas de crash système). De plus, certains systèmes de fichiers peuvent s'étendre sur un réseau entier, comme le fait NFS, par exemple (on parle de système de fichiers distribué, ou réparti).
Il existe d'autres façons d'organiser les données, par exemple les systèmes de gestion de base de données (notamment base de données relationnelle) et les fichiers indexés.
Méta-données
Chaque fichier est décrit par des méta-données. Ces méta-données sont écrites dans ce qu'on appelle l'inode, alors que les données du fichier lui-même sont écrites dans un ou plusieurs blocks selon sa taille.
Les méta-données les plus courantes sous UNIX sont :
- Droits d'accès en lecture, écriture et exécution.
- Dates de dernier accès, de modification des meta-données (inode), de modification des données (block)
- Propriétaires et groupe propriétaire du fichier
- Taille du fichier
- Nombre de liens, nombre de blocks utilisés par le fichier (*)
- Type de fichier : fichier simple, lien symbolique, répertoire, périphérique ...
Sur la plupart des Unix, la commande stat permet d'afficher l'intégralité du contenu de l'inode.
(*) différent de la taille du fichier car les blocks sont de taille fixe, ainsi un fichier de 5ko sur un système avec des blocks de 4ko prendra 2 blocks. Pour les fichers de grande taille, cela se complique encore car les premiers blocks servent à l'adressage des suivants.
Systèmes de fichiers et systèmes d'exploitation associés ou compatibles
Note : ce classement n'est pas un jugement de valeur, il a juste pour but de trier. Par exemple, Ext2 et FAT sont dans la même catégorie, on ne peut pourtant pas comparer cette bonne vieille FAT à un FS moderne comme Ext2. Dans chaque catégorie les FS sont classés par ordre alphabétique.
Non journalisés
- Ext et Ext2 : Extented FS version 2 (Linux, BSD)
- FAT : File Allocation Table (DOS/Windows, Linux, BSD, OS/2, Mac OS X)
Se décompose en plusieurs catégories, FAT12, FAT16, FAT32 et VFAT
- FFS (BSD, Linux expérimental)
- HFS (Mac OS, Mac OS X, Linux)
- HPFS : High Performance FileSystem (OS/2, Linux)
- minix fs (minix, Linux)
- S5 (UNIX System V, Linux)
- Unix_File_System : Unix FS (BSD, Linux en lecture seule)
Journalisés
- BFS (BeOS, Haiku, Linux en lecture seule et expérimental)
- Ext3 : Extented FS version 3 (Linux)
- HFS+ (Mac OS X, Linux)
- JFS (AIX, OS/2, Linux)
- LFS : (Linux)
- NTFS : New Technology FileSystem (Windows, Linux en lecture seule, Mac OS X en lecture seule)
- ReiserFS (Linux)
- Reiser4 (Linux expérimental)
- Spufs : Synergistic processing unit filesystem
- UFS+ : Unix FS + journal (BSD, Linux en lecture seule)
- XFS (Irix, Linux)
- ZFS : Zettabyte FS (Solaris10)
Réseau
- NFS (Tous les Unix, Linux, Mac OS X) (Windows via un émulateur)
- SMB (Windows) (Linux, BSD et Mac OS X via Samba)
- CIFS (Evolution de SMB, supporté par Samba ainsi que par Windows 2000 et XP)
Spécialisés
- CFS (Cryptographic File System) : FS chiffré (BSD, Linux)
- cramfs : FS compressé (Linux en lecture seule)
- ISO_9660 : en lecture seule sur tous les systèmes lisant les CDROM/DVDROM de données
- JJFS et JJFS2 : FS pour support physique sans block, typiquement des cartes flash. Il est compressé et journalisé (Linux)
- QNX4fs : FS utilisé pour le temps réel (QNX, Linux en lecture seule)
À classer...
- ODS (VMS, OpenVMS)
- Devfs et udev
- ADFS : disque Acorn
- AFFS : fichiers rapides d'Amiga
- CBMFS : Le système de fichiers pour Commodore 1581/1541
- DTFS : DeskTop File System (Unix)
- EFS : système de fichier amélioré (Linux)
- GPFS
- MFS (Macintosh)
- NWFS : système de fichiers Novell NetWare
- SFS : Secure file system
- OpenVMS : système de fichiers Spiralog
- UDF : Le format de Disque Universel (système de fichiers des DVD-ROM)



