Page précédente Page suivante Table des matières

4. Fragmentation

Un fichier occupe un nombre entier de blocs, donc un bloc sera alloué à tout fichier, même s'il ne contient qu'un seul octet. En moyenne, un demi-bloc est ainsi perdu pour chaque fichier. Afin de limiter cette perte, la taille standard des blocs est de 1Ko, ce qui est égal à la taille standard des fragments de FFS :-)

En fait, une des inovations de FFS par rapport au système de fichiers classique d'Unix (le SF de V7) a été d'utiliser des blocs de taille importante (8Ko par défaut) afin d'accélérer les entrées/sorties et d'ajouter la notion de fragment pour réduire la place disque perdue à cause de cette taille importante de bloc (fragments qui ne sont d'ailleurs pas complètements gérés). Dans le cas de Ext2fs, nous avons choisi d'avoir une taille de bloc relativement petite et d'améliorer les performances en optimisant les allocations de blocs, en utilisant des mécanismes de préallocation et des techniques de lecture anticipée. On obtient alors de bonnes performances sans avoir à gérer de fragments.

Les fragments n'ont pas que des conséquences bénéfiques :

C'est pour ces raisons que les fragments ne sont pas (et ne seront probablement jamais) implémentés dans Ext2fs, bien que des champs spécifiques aux fragments aient été réservés dans la structure ext2_inode lors de sa conception.


Page précédente Page suivante Table des matières