Avant tout, je voudrais préciser que cet article, plus proche d’un mini-dossier que d’un article en vérité, n’est pas exhaustif, mais se veut relativement complet (du moins en ce qui concerne les bases que l’on souhaite poser). Nous allons aborder ici des concepts qui peuvent devenir relativement complexes et ardus si l’on y prend pas garde. Nous ferons donc ici des généralisations tout en essayant de na pas perdre de vue la réalité des choses.
Fragmentation ? Qu’est-ce ?
La fragmentation désigne un processus par lequel un objet est divisé en (un grand nombre) de petits morceaux. En informatique donc, cela représente le fait qu’un fichier soit stocké en plusieurs morceaux (à plusieurs endroits) sur votre disque dur. Cela a pour conséquence de rallonger les temps d’accès (en écriture et en lecture) des fichiers de votre disque dur. En effet, plutôt que de pouvoir lire (ou écrire) tout un fichier d’un seul coup, il faut sauter de morceaux en morceaux ce qui prend (beaucoup) plus de temps qu’une lecture (écriture) continue. A une époque où l’on a du matériel (puces électroniques : CPU, GPU, Chipset, …) permettant de traiter toujours plus d’informations, les disques durs (et lecteur optiques, …) constituent bien souvent la partie la plus lente d’un ordinateur. Il devient donc très vite nécessaire, voire même capital
, d’empêcher ou, tout du moins, de minimiser la fragmentation.
Ceci étant, la fragmentation n’a pas que de mauvais cotés. En effet, la fragmentation permet (par un processus que nous n’expliquerons pas ici et, dans une certaine mesure) de pouvoir (espérer) récupérer des fichiers effacés (accidentellement ou non).
La fragmentation, comment cela arrive-t-il ?
La fragmentation peut arriver de plusieurs manières, et la grande majorité d’entre elles sont inévitables (sous-entendu : il n’existe pas de règles de bonne conduite que vous pourriez appliquer pour réduire, voire empêcher, la fragmentation). La principale raison de la fragmentation provient du système d’exploitation (OS) que vous utilisez. Prenons un exemple comparatif : le système Unix et le système Windows.
Le cas des dérivés d’UNIX : Tous les systèmes Unix ont la même gestion de la fragmentation. L’OS calcule la taille nécessaires au stockage du fichier sur le disque dur. Si un espace libre (continu) de cette taille est trouvé sur le disque, il stocke le fichier à l’endroit trouvé (le fichier n’est donc pas fragmenté). S’il ne trouve pas la taille nécessaire (en espace continu), il scinde le fichier en plusieurs sous-fichiers (mais pas de n’importe quelle manière : il tente de minimiser le nombre de sous-fichiers) et les éparpille sur le disque dur. Cette façon de faire implique, par conséquent, que l’OS remplit les plus grand espaces vides continus en premier.
Le cas de Microsoft Windows : Le noyau NT essaie de combler les trous. Pour ce faire, il fragmente le fichier pour ne pas le laisser au début du disque des zones avec espace vaquant.
On voit directement une différence flagrante de politique des deux noyaux les plus connu du monde informatique. On remarque également que la politique des systèmes dérivés de Unix sont moins sujets à la fragmentation où, plus précisément, la ou un système Windows fragmentera quasiment tous les fichiers, un système Unix fragmentera surtout les (très) gros fichiers pour ne fragmenter les petits fichiers que lorsque le disque est presque plein.
Défragmentation…
La défragmentation est un processus consistant a « ranger » le disque dur, à recoller les morceau de fichiers côte à côte et ainsi de réduire les temps d’accès à ces fichiers.
Mac OS, depuis sa version 10.x, est basé sur BSD, lui même basé sur le système Unix… Mac OS hérite donc, ne serait-ce qu’indirectement, des politiques d’anti-fragmentation d’Unix. Concernant la fragmentation, Apple ajoute que :
- De nos jours les disques durs sont nettement plus volumineux que par le passé. De ce fait, le format HFS+ évite, autant que faire se peut, la réutilisation d’espaces préalablement utilisés par des fichiers effacés (ce qui permet, comme évoqué plus haut, de pouvoir espéré récupéré certains d’entre eux).
- Leopard (et c’est également valable pour Panther et Tiger) intègre un système d’allocation permettant de regrouper dans un seul endroit du disque un certain nombre de petites allocations. Lors de l’installation de Mac OS X, de nombreux fichiers sont placés dans une zone spéciale (« Hot band ») permettant une lecture rapide et une défragmentation pourrait déplacer ces fichiers, ce qui aurait pour effet de ralentir le démarrage du système.
- Leopard (c’est également valable pour Panther et Tiger)permet automatiquement la défragmentation de certains fichiers (les fichiers de petite taille et de taille moyenne) selon un processus nommé « Hot-File-Adaptive-Clustering ».
Intéressons nous a cette dernière fonction: d’après Apple, « cette dernière assurerait une sorte de « défragmentation automatique » lorsqu’une application accède à un fichier fragmenté (dont la taille est inférieure à 20 Mo) sur un disque. Il serait alors copié sur de l’espace disque libre et contigu, et les unités d’allocations qu’il occupait seraient libérées. D’autre part, Apple aurait mis en place des mécanismes pour éviter des pertes de données lorsque tout l’espace disque est occupé, et que l’OS est obligé d’avoir recours à la mémoire swap ». Fonction cohérente, s’il en est, avec la politique des noyaux Unix.
Défragmenter ou ne pas défragmenter, telle est la question…
Selon Apple, il n’y aurait donc que peu ou pas d’intérêt à défragmenter son disque dur ! Toutefois, si vous ressentez le besoin de défragmenter (parce que vous trouvez votre mac de plus en plus lent, …etc), Apple vous suggère dans un premier temps de redémarrer votre Mac ! Par contre, si votre disque dur est copieusement rempli et/ou si vous créez ou modifiez régulièrement de gros fichiers (vidéo, etc…) dans ce cas, Apple précise qu’il peut s’avérer nécessaire de défragmenter votre disque dur avec un logiciel adapté.
Et nous alors, on en pense quoi ?
On trouve souvent, sur internet, des « Apple Fan Boys » (comme dit Fred) qui relayent les paroles d’Apple sans réfléchir et prétendent qu’il ne faut PAS défragmenter. On trouve également des personnes critiquant ces même AFB, malheureusement sans plus d’esprit critique qu’eux et qui ne jureraient presque que par la défragmentation…
Mon avis est plus nuancé et proche des informations évoquées dans cet article. D’après mon expérience personnelle, la majorité des gens utilisent de petits fichiers (Word, Excel, Fichiers musicaux (mp3, aac, …), pages internet, images, … ) tous, en général, inférieur à 20Mo. Ce qui fait que, de par la base d’Unix de Mac OS X couplée aux différentes politiques propres à Apple (« Hot band », »Hot-File-Adaptive-Clustering » et peut-être d’autres non référencées), il est -pour cette majorité de gens- inutile de défragmenter son mac si ce n’est par un redémarrage de temps à autre. C’est d’ailleurs mon cas, et le peu de fois où je finis par choisir de défragmenter mon disque dur, le gain en terme de performance est (quasiment) invisible.
Pour les autres personnes, celles manipulant des fichiers plus gros (fichier video, création de DVD (iMovie, iDVD), … etc.), une défragmentation peut, en effet, s’avérer utile de temps à autre. Cependant, attention, c’est une opération est en générale coûteuse en temps et empêchera une quelconque tentative de récupération des fichiers effacés. Pour ce faire il existe plusieurs programmes dont les plus connu sont sans doute TechTool Pro, Drive Genius et iDefrag…