|
|
TUTORIEL ALGO/METHODES |
|
|
|
Expliquez-moi... Les systèmes de fichiers |
À la racine des systèmes d'exploitation, ils définissent les principes d'accès aux fichiers et leur hiérarchisation.
(10/11/2005) |
|
Un système de fichiers (filesystem
ou FS) est la base de tous les systèmes d'exploitation. Avant
même ce dernier, c'est lui qui décidera de l'organisation, voire
même la forme physique des données, et de la dénomination des
fichiers.
Il n'est pas nécessaire de les connaître pour s'en
servir (le système d'exploitation s'en charge très bien déjà),
mais disposer de quelques connaissances à leur sujet
n'est jamais mauvais pour un développeur.
Le FS présente
donc une méthode de stockage et de cataloguage des fichiers,
selon des principes qui peuvent varier d'un système à l'autre.
C'est lui qui régit la manière dont les données sont chargées,
enregistrées, triées, manipulées. Il stipule si un fichier est
accessible ou non. Tout support de données dispose d'un système
de fichiers, qu'il s'agisse d'un disque dur, d'une mémoire vive,
d'un cédérom ou d'une clef USB.
Un FS gère les données par secteurs, le plus souvent
de 512 octets, regroupés en unités d'allocation (clusters).
Le FS gère ces données par cluster entier (il suffit qu'un seul
secteur du cluster soit occupé pour que ce dernier soit considéré
comme utilisé). Le nombre de secteurs par cluster est défini
par le FS lui-même. Donc, moins le cluster aura de secteurs,
moins il y aura de pertes d'espace disque. En contrepartie,
plus un cluster aura de secteurs, moins de FS aura d'unités
à gérer. Le tout est donc de trouver un FS qui réalise le compromis
adéquat pour l'utilisation qu'on en fait - mais le plus souvent,
ce choix est imposé par le système d'exploitation.
L'organisation visuelle des fichiers répond à une hiérarchisation,
où un dossier comprend un nombre donné de fichiers ou d'autres
dossiers, qui eux-mêmes, etc. Physiquement, cependant, un dossier
n'est rien moins qu'un type de fichier particulier, dont les
métadonnées précisent qu'il est la racine de tel ensemble de fichiers
(ou, inversement, les métadonnées des fichiers précisent qu'ils
appartiennent à la hiérarchie d'un dossier précis). L'arborescence
des fichiers tient donc dans une description décrite au sein
d'un type de fichier particulier, les dossiers. Cette description
se fait sous la forme d'une structure de données.
Les métas-données associées à un fichier peuvent préciser de
nombreuses propriétés selon les FS : type du fichier, taille,
secteur de départ, propriétaire du fichier, permissions Posix
ou ACL (lecture, écriture, exécution), estampages (de
création, de lecture, de modification), indications sécuritaires...
Il y a donc quasiment autant de FS que d'OS. Windows lui-même
a vu, au cours de sa carrière, ses capacités de gestions de
différents FS augmenter : FAT16 initialement, puis FAT32, NTFS
et maintenant NTFS 5. De la même manière, les systèmes alternatifs
proposent également leurs FS : UFS pour les systèmes Unix, BSD
et consorts (Mac OS X utilise la variante HFS), RaiserFS, ext2
et ext3 pour Linux, JFS, XFS, MFS, HPFS... Les systèmes d'exploitation
les plus récents autorisent l'utilisation combinée de plusieurs
FS (un par partition). Le FS le plus unanimement reconnu (et
donc, le plus facilement partageable en réseau entre plusieurs
OS) est FAT16. Les clefs USB, par exemple, l'utilisent la plupart
du temps.
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Touts ces systèmes différents sur une poignée de caractéristiques :
taille maximale d'un nom de fichier, caractère autorisé dans
les noms de dossier, taille maximale d'un chemin d'accès, taille
maximale d'un fichier, taille maximale d'un volume. Certains
FS utilisent les extensions de fichiers pour classer plus précisément
ces derniers, mais comme le montrent les systèmes Mac OS et
Unix, ce n'est pas forcément nécessaire pour offrir une reconnaissance
de type de fichier. Le plus important tient dans les conventions
d'accès au fichier adoptées par le FS. |
|
|