[Linux-bruxelles] Nettoyage/réorganisation partition

Jérôme Warnier jwarnier at beeznest.net
Dim 9 Jan 20:37:56 CET 2005


Le dimanche 09 janvier 2005 à 18:06 +0100, Frederic Peters a écrit :
> Alain Barthélemy écrivait :
> 
> > > Cela dit, ça ne sert à rien :)  ext3 n'a pas les problèmes des
> > > systèmes de fichiers sous Windows (je suis étonné qu'il existe
> > > encore un defrag pour NTFS[1]); tant que la partition n'est pas
> > > en permanence pleine à craquer il y a très peu de fragmentation.
> > > 
> > 
> > Donc, si je comprends bien, il n'y a plus de problèmes de fragmentation
> > sous Windows puisque tu es étonné qu'il y ait encore un defrag pour
> > NTFS ou ai-je mal lu?
> 
> Ça se parsait différemment.
> 
> 1- ext3 n'a pas les problèmes des systèmes de fichiers sous Windows
> 
>    - aparté [je suis étonné qu'il existe encore un defrag pour NTFS]
Normalement NTFS (dès les premières versions de NT) devait supprimer
totalement le besoin de défragmentation, tout comme éradiquer
définitivement les virus.
Ils ont visiblement préféré voler des technologies de
compression/décompression de disque à la volée à des concurrents, et
implémenter des ACL que la plupart des admins ne savent pas maîtriser
(vive le "Full Control", les connaisseurs apprécieront!).
Peut-être que les vendeurs de logiciels de défragmentation payaient
mieux?

Je vais tenter d'expliquer comment cela se passe pour un système de
fichiers FAT (MS-DOS, donc):
- il y a des fichiers sur ton disque dur
- si tu veux ajouter un fichier, il regarde où est le premier (en
commençant par le début du disque) morceau d'espace libre.
	Si tout le fichier entre dans cet espace, très bien.
	Sinon, si seulement une partie entre, il met cette partie-là dedans, et
il va mettre le reste dans le prochain espace libre.
- si tu veux supprimer un fichier, il le supprime et laisse maintenant l'espace qu'il occupait libre.

Maintenant, tu fais tout cela plein de fois: tu ajoutes des fichiers, tu
en supprimes, tu en rajoutes, tu en re-supprimes.

Et puis, tu veux lire un de ces fichiers: il te faut trouver le début,
et chaque partie successive jusqu'à avoir tout le fichier. On voit tout
de suite que ça peut faire sauter la tête de lecture du disque dans tous
les sens avant d'avoir lu son fichier. C'est ce qu'on appelle la
fragmentation.
L'avantage de ce système est qu'il est très simple, et très performant
quand on est seul à travailler sur le disque et qu'on n'utilise pas
beaucoup de fichiers en même temps.

Pour un système de fichiers de type UNIX (attention, il y a encore plein
de variantes, qui ne font pas toutes comme ceci), c'est plus compliqué.
On va dire qu'on met au hasard sur le disque, avec un algorithme qui
permet de bien répartir un peu partout sur le disque, et donc de pouvoir
plus facilement trouver un espace assez grand pour stocker tout le
fichier en un block.
L'avantage, c'est que la fragmentation est réduite, ou au moins
"naturelle" et n'induit aucune pénalité en performances, et que cela
fonctionne aussi bien pour un utilisateur que pour des milliers qui
travaillent sur la machine en même temps.
Par contre, ça devient lent dès qu'on a presque rempli le filesystem,
parce que trouver une place libre devient plus difficile, il faut en
essayer plusieurs avant d'en trouver une.

Pour cette histoire de problème en cas d'utilisateurs simultanés:
Imaginez que chaque programme (ou utilisateur, ça revient presque au
même pour le point de vue du système) est une personne dans un immense
vestiaire et chacun doit mettre son manteau soi-même au porte-manteau.
Imaginez qu'il y a un chef d'orchestre qui attribue les places, sous
forme de tickets numérotés et que certaines personnes doivent en mettre
plusieurs à la fois mais ne savent pas de combien de porte-manteau(x?)
ils vont avoir besoin avant de les avoir pendu.
Imaginez la pagaille... :-)


Fred s'étonnait que ce ne soit pas tenu en compte dans la conception de
NTFS, puisque les modèles efficaces étaient déjà légion et librement
documentés au moment de cette conception.

Petite remarque:
la défragementation de XP permet aussi de mettre dans des zones plus
rapides les fichiers les plus souvent utilisés, pour permettre de booter
plus vite ( ou en tous cas donner l'impression à l'utilisateur).

> 2- tant que la partition n'est pas en permanence pleine à craquer il
>    y a très peu de fragmentation
> 
>         Frédéric





Plus d'informations sur la liste de diffusion Linux-bruxelles