Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.01.1999      r+  23.08.2020      r-  08.05.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

Les logiciels Diskeeper, V-locity, V-locity Management Console (VMC), Undelete, HyperFast, HyperBoot, InvisiTasking, IntelliWrite, ExpressCache, I-FAAST, SSDkeeper sont édités par « Executive Software International Inc. » dont le patron est Craig Jensen qui ne cache pas être un scientologue (secte de la scientologie) et en fait la publicité. Il n'est évidemment pas question de supporter, directement ou indirectement, cette secte.

Executive Software International Inc. et la scientologie
Executive Software International Inc. (Diskeeper Corporation - Condusiv Technologies) et la scientologie


Changements de noms d'Executive Software International Inc.

Condusiv Technologies est une société éditrice de logiciels, dans le monde Microsoft Windows, basée à Burbank, en Californie (USA). La société fut un temps formellement connue sous le nom de Diskeeper Corporation, un nom dérivé de son produit phare, Diskeeper, un logiciel de défragmentation des fichiers, dans les systèmes de gestion de fichiers de Microsoft (et OpenVMS dans le monde VAX). Avant de s'appeler Diskeeper Corporation, puis Condusiv Technologies (son nom actuel - vérifié 2014, 2017, 2021), cette société était connue sous le nom de Executive Software International, Inc.

Produits à ignorer / boycotter (liste 2014)

Diskeeper
V-locity
V-locity Management Console (VMC)
Undelete
HyperFast
HyperBoot
InvisiTasking
IntelliWrite
ExpressCache
I-FAAST
SSDkeeper


Controverse avec Windows XP, Windows 2000 et Windows 2003 Serveur embarquant une version de Diskeeper

En 2000, il est découvert que Windows 2000 embarque une technologie basique de Diskeeper (la version dite « Diskeeper Home ») dans sa fonctionnalité de défragmentation. Sous la pression des utilisateurs, Microsoft introduisit un dispositif pour désactiver sa fonction de défragmentation. Les modules de défragmentation de Windows 2000, Windows XP et Windows Server 2003 embarquent cette technologie produite par un scientologue !




Pourquoi et comment naît la fragmentation ?

Pourquoi faut-il défragmenter de temps en temps ?

Notion de « Pistes magnétiques »
Les surfaces magnétiques des disques durs sont organisées en « Pistes magnétiques » concentriques (ne pas imaginer une unique spirale qui ferait penser à un sillon de microsillon).

Notion de « Secteurs »
Les pistes sont divisées en blocs constituant la plus petite unité physique de stockage de données, la plus petite quantité de données que peut manipuler, en une fois, l'électronique du disque, en lecture comme en écriture. Ces petits blocs sont appelés « secteurs » et font, historiquement (du temps des disquettes) 256 octets ou 512 octets (256 ou 512 caractères).

Selon la taille du disque dur et les choix du constructeur du disque dur, lors du « Formatage physique » Formatage de bas niveau », une forme de formatage qui n'a rien à voir avec celle que peuvent faire les utilisateurs lorsqu'ils préparent [« formatent »] ou réinitialisent [« reformatent »] un disque - le formatage physique est à ne jamais faire sans connaître les données techniques du disque - sa géométrie), ces « secteurs » font parfois 1024 octets, 2048 octets ou 4096 octets).

Les systèmes d'exploitation d'ordinateurs (il en existe des centaines, comme Windows, Mac OS X, OS/2, NeXtStep, Unix, Linux, Solaris (Sun, SystemV), BSD, Android, etc. voir Systèmes d'exploitation (liste)), lors du « Formatage logique » (« Formatage de haut niveau » que peuvent pratiquer les utilisateurs), imposent un « Système de Gestion de Fichiers » (« SGF » ou « Système de Fichiers », « FS », « File System », « FileSystem »). Il en existe plusieurs, les plus connus dans le monde Microsoft Windows étant FAT32 (apparu en 1996 dans Windows 95b) et NTFS (apparu en 1993 dans Windows NT 3.1).

Lors de ce formatage, les « secteurs » sont regroupés en blocs logiques faits d'un multiple de secteurs. Ainsi, un bloc (appelé « cluster » en anglais) fait, par exemple, 4 secteurs. Le « cluster » est la plus petite unité logique de données que le système d'exploitation manipule en une fois. Le choix de la taille des « clusters » influe directement sur les performances du disque.


Fichiers de plus de 4GO (films...) et système de fichiers FAT

Les fichiers, sous le système de gestion FAT32, ne peuvent dépasser 4GO par fichier (d'où l'incapacité de copier des fichiers de plus de 4GO tels que des films en haute résolution). Il faut passer le disque en NTFS, ce qui se fait sans perte de données.

Voir quel est votre système de fichiers actuel sur l'un de vos disques et passer de FAT à NTFS.



Taille initiale, extensions successives de taille et fragmentation

Lorsqu'un fichier doit être créé, sur le disque, son nom est inscrit dans la table d'allocation (la table des matières du disque) et un pointeur indique où ce fichier commence (numéro de piste et numéro de secteur). Il utilise le nombre de « clusters » successifs nécessaire à la taille qu'il pèse à cet instant. Puis d'autres fichiers sont créés par l'utilisateur, à la suite du précédent, selon le même principe.

Plus tard, si l'utilisateur revient sur son premier fichier et y ajoute des données, ce fichier doit « grossir ». Le fichier va s'étendre, sur le disque, un peu plus loin, là où il y a de la place. Il est désormais en deux morceaux - le fichier est fragmenté.

Un pointeur est ajouté à la fin du premier morceau pour désigner le début du morceau suivant. Il en va de même de tous les autres fichiers qui sont, eux aussi, en morceaux (en « fragments »).

Puis, un jour, l'utilisateur détruit un fichier et libère ainsi la place de tous les fragments, dispersés sur le disque, que ce fichier occupait. L'effet gruyère, plein de trous, commence !


Un système d'exploitation inscrit et détruit, sans arrêt, des milliers de fichiers, qu'ils soient des fichiers de l'utilisateur ou des fichiers de travail (temporaires). Les fichiers finissent par ressembler à des patchworks de petits morceaux liés entre eux par des chaînages et répartis un peu partout, tandis que les fichiers détruits laissent des zones inutilisées qui font ressembler la surface magnétique d'un disque à un gruyère plein de trous.

Les fichiers sont devenus fragmentés !

Les pointeurs pour aller d'un morceau à un autre rendent les accès de plus en plus lents à cause des déplacements des têtes de lecture / écriture un peu partout sur la surface du disque. Il faut défragmenter les fichiers afin que chaque fichier soit d'un seul tenant (en un seul morceau), et il faut déplacer les fichiers pour que tout l'espace libre soit, lui aussi, d'un seul tenant.

Pour bien comprendre pourquoi et comment des fichiers se fragmentent et pourquoi et comment des « trous » apparaissent, nous allons imaginer un scénario « naïf » de créations / destructions de fichiers provoquant la fragmentation des fichiers et faisant apparaître des trous.


Fragmentation et Défragmentation des fichiers et espaces libres sous Windows
Fragmentation et Défragmentation des fichiers et espaces libres sous Windows

Sur le schéma précédent, étape par étape, on peut voir des fichiers devenir fragmentés et des « trous » se créer.
Accessoirement, chaque « ligne » du tableau représente 1 cluster.

  1. Étape 1
    L'utilisateur crée le fichier « A » (qui occupe 3 clusters même si son besoin réel est inférieur à un multiple de la taille de chaque cluster). On se rend bien compte de cette différence entre taille du fichier et taille occupée sur le disque avec cette capture d'écran :

    Occupation physique d'un fichier et taille réelle du fichier - Plus le fichier est petit, plus la perte de place, sur disque, est importante.
    Occupation physique d'un fichier et taille réelle du fichier - Plus le fichier est petit, plus la perte de place, sur disque, est importante.
  2. Étape 2
    L'utilisateur crée le fichier « B » (qui occupe 1 cluster). Le fichier s'implante à la suite du fichier « A ».

  3. Étape 3
    L'utilisateur crée le fichier « C » (qui occupe 2 clusters). Le fichier s'implante à la suite du fichier « B ».

  4. Étape 4
    L'utilisateur supprime le fichier « B ». Son espace devient libre. Il y a un « trou ».

  5. Étape 5
    L'utilisateur crée le fichier « D » (qui occupe 1 cluster). Le fichier s'implante à l'ancienne place du fichier « B ».

  6. Étape 6
    L'utilisateur ajoute des données au fichier « A ». Ce dernier s'étend là où il y a de la place, soit après le fichier « C ». Il est désormais fragmenté en deux morceaux. Des pointeurs sont créés pour assurer la liaison entre les fragments.

  7. Étape 7
    L'utilisateur ajoute des données au fichier « D ». Ce dernier s'étend là où il y a de la place, soit après le second fragment du fichier « A ». Il est désormais fragmenté, lui aussi, en deux morceaux. Des pointeurs sont créés pour assurer la liaison entre les fragments.

  8. Étape 8
    L'utilisateur supprime le fichier « C ». Son espace devient libre. Il y a un « trou ».

  9. Étape 9
    L'utilisateur crée le fichier « E » qui occupe une partie d'un trou.
    Puis l'utilisateur crée le fichier « F » qui est trop grand pour occuper un trou et s'implante un peu plus loin.
    Puis l'utilisateur étend beaucoup le fichier « A ». Il n'y a pas de trou assez grand pour le contenir d'un seul tenant et l'extension s'implante un peu plus loin pour ne former qu'un seul fragment, la seconde extension de ce fichier qui est désormais constitué de trois fragments.

  10. Étape 10
    L'utilisateur diminue la taille des données de « F ». Il y a création d'un trou.
    L'utilisateur ajoute des données au fichier « D ». Ce dernier s'étend dans un trou où il y a suffisamment de place. Seconde extension de ce fichier qui est désormais constitué de trois fragments.

  11. Étape 11
    Extension de « D » suite 3
    Extension de « F »
    Création de « G »

  12. Étape 12
    Suppression de « A »
    Création de « H »
    Création de « I »

  13. Étape 13
    Suppression de « H »
    Suppression de « E »
    Il y a quatre trous et un fichier fragmenté en quatre morceaux.

  14. Étape 14
    Défragmentation. Réorganisation des fichiers fragmentés en un seul segment. Regroupement de tous les espaces libres en un seul segment.

    Notes :

    • Contrairement à ce qui peut être lu parfois, la défragmentation ne consiste absolument pas à trier les fichiers dans un ordre quelconque.

    • Contrairement à ce qui peut être lu parfois, la défragmentation n'a aucune incidence sur la RAM.

    • La défragmentation peut être une opération assez longue si elle est pratiquée rarement sur des dizaines de milliers de fichiers représentant des centaines de milliers de fragments.

    • À partir de Windows 7, le système d'exploitation effectue, de lui-même, en continu (lorsque l'ordinateur n'est pas sollicité), une défragmentation sommaire qui permet d'espacer les défragmentations lancées avec un outil tiers (mais cela ne signifie absolument pas qu'il n'est plus du tout nécessaire de faire des défragmentations épisodiques à partir de Windows 7).

    • La défragmentation a besoin d'un espace de travail où elle va déplacer et regrouper les fragments de chaque fichier avant de déplacer à nouveau le fichier défragmenté vers son nouvel emplacement. L'estimation de cet espace de travail est de 15% de la taille totale du disque. Il faut donc que votre disque dur ne soit pas occupé à plus de 85% pour permettre une défragmentation assez efficace, sinon, elle aura tout de même lieu si vous la forcez, mais certains gros fichiers risquent de ne pas être défragmentés et la réorganisation totale du disque risque de ne pas être parfaite.

    • La défragmentation est beaucoup plus compliquée que ce schéma « naïf » ne le laisse entendre. En particulier, certains fichiers sont fixes et ne peuvent être déplacés. C'est le cas du fichier de mémoire virtuelle de Windows (pagefile.sys et les notions de swap-in et swap-out) et de très nombreux autres fichiers système.

    • La diminution de la taille d'un fichier n'entraîne pas la récupération immédiate de la place libérée.




Peut-on/faut-il défragmenter un SSD ?

Ne tentez jamais de défragmenter un SSD.

Les SSD, basés sur de la mémoire flash, ont un nombre fixe d'écritures qu'elles peuvent supporter avant d'atteindre un point où le taux d'erreurs dépasse les capacités de détection et correction d'erreurs du contrôleur ECC (Error Checking and Correcting - ou parfois, par erreur, Error Correction Code) du SSD. Les constructeurs de SSD donnent une mesure appelée « endurance », exprimée en capacité d'écriture. Par exemple, en juillet 2020, le SSD interne Kingston KC200 de 1 TO a, d'après son fabricant, une endurance de 600 TO. Cela conduit, à terme, à une totale défaillance du dispositif. Pour prolonger l'efficacité du dispositif SSD, ne jamais tenter de le défragmenter (sans compter que la technologie SSD elle-même est balbutiante).

Il est d'ailleurs recommandé de ne pas utiliser un SSD à plus de 60% de sa capacité de manière à permettre à la logique de gestion du SSD d'utiliser, à tour de rôle, toutes ses puces, afin de répartir leur usure.

Les SSD ont des temps moyens d'accès aux données proches de zéro (il n'y a aucun déplacement mécanique). Une défragmentation sur un SSD aura un impact zéro en termes de performances, mais entraînera un risque de destruction totale du SSD.

Lire ce document d'un constructeur, en anglais, page 7. La défragmentation des SSD est inutile et dangereuse :
http://ocz.com/enterprise/download/guides/talos2_installation_guide.pdf (dans les archives du Web, l'original n'existant plus).

  • Il n'y a pas de déplacement mécanique de têtes de lecture, comme sur un disque dur.

  • C'est une perte de temps sur les SSD.

  • La défragmentation génère des volumes considérables d'écritures augmentant considérablement l'usure irrévocable de la mémoire.

Notez que les outils de défragmentation disposent de réglages permettant de désactiver la fonction de défragmentation pour certains volumes (cases à décocher).

Quant à Windows, qui dispose d'un outil de défragmentation automatique fonctionnant en permanence dès que le système détecte une inactivité, il ne défragmente pas les SSD sous Windows 8, 10, et suivants.

Collection de dossiers : Les logithèques

Logithèque # Liste
Gratuithèque # Liste
Alternathèque # Liste
Crapthèque # Liste