Défragmentation – Wikipedia wiki

before-content-x4

Réarrangement des secteurs sur un disque dur en unités contiguës

after-content-x4

Dans la maintenance des systèmes de fichiers, Défragmentation est un processus qui réduit le degré de fragmentation. Il le fait en organisant physiquement le contenu du dispositif de stockage de masse utilisé pour stocker des fichiers dans le plus petit nombre de régions contiguës (fragments, étendue ). Il tente également de créer des régions plus grandes d’espace libre en utilisant le compactage pour entraver le retour de la fragmentation. Certains utilitaires de défragmentation essaient de garder ensemble des fichiers plus petits dans un seul répertoire, car ils sont souvent accessibles en séquence.

La défragmentation est avantageuse et pertinente pour les systèmes de fichiers sur les disques électromécaniques (disques durs, disquettes disquettes et support de disque optique). Le mouvement de la lecture / écriture du disque dur sur différentes zones du disque lors de l’accès à des fichiers fragmentés est plus lent, par rapport à l’accès à l’ensemble du contenu d’un fichier non fragmenté séquentiellement sans déplacer les têtes de lecture / écriture pour rechercher d’autres fragments.

Causes de fragmentation [ modifier ]]

La fragmentation se produit lorsque le système de fichiers ne peut pas ou ne répartira pas suffisamment d’espace contigu pour stocker un fichier complet en tant qu’unité, mais en met plutôt des parties dans les lacunes entre les fichiers existants (généralement ces lacunes existent parce qu’ils détenaient autrefois un fichier que le système de fichiers a Supprimé par la suite ou parce que le système de fichiers a alloué un espace excédentaire pour le fichier en premier lieu). Les fichiers qui sont souvent annexés (comme avec les fichiers journaux) ainsi que l’ajout et la suppression fréquents de fichiers (comme avec les e-mails et le cache du navigateur Web), les fichiers plus grands (comme avec les vidéos) et un plus grand nombre de fichiers contribuent à la fragmentation et aux performances conséquentes perte. La défragmentation tente de soulager ces problèmes.

Exemple [ modifier ]]

Exemples de cinq états de fragmentation

Un disque par ailleurs vierge a cinq fichiers, A à E, chacun utilisant 10 blocs d’espace (pour cette section, un bloc est une unité d’allocation du système de fichiers; La taille du bloc est définie lorsque le disque est formaté et peut être pris en charge par le système de fichiers). Sur un disque vierge, tous ces fichiers seraient alloués l’un après l’autre (voir l’exemple 1 de l’image). Si le fichier B devait être supprimé, il y aurait deux options: marquez l’espace pour le fichier B comme vide à nouveau plus tard, ou déplacer tous les fichiers après B afin que l’espace vide soit à la fin. Étant donné que le déplacement des fichiers pourrait prendre du temps s’il y avait de nombreux fichiers qui devaient être déplacés, l’espace vide est généralement laissé là, marqué dans une table comme disponible pour de nouveaux fichiers (voir l’exemple 2 de l’image). [NB 1] Lorsqu’un nouveau fichier, F, est alloué nécessitant 6 blocs d’espace, il pourrait être placé dans les 6 premiers blocs de l’espace qui détenait autrefois le fichier B, et les 4 blocs qui le suivent resteront disponibles (voir l’exemple 3 dans l’image) . Si un autre nouveau fichier, G, est ajouté et n’a besoin que de 4 blocs, il pourrait alors occuper l’espace après F et avant C (exemple 4 dans l’image).

after-content-x4

Cependant, si le fichier f doit alors être élargi, il existe trois options, car l’espace qui suit immédiatement n’est plus disponible:

  1. Déplacez le fichier F vers où il peut être créé comme un fichier contigu de la nouvelle taille plus grande. Cela ne serait pas possible si le fichier est plus grand que le plus grand espace contigu disponible. Le fichier pourrait également être si important que l’opération prendrait une période de temps indésirable.
  2. Déplacez tous les fichiers après f jusqu’à ce que l’on ouvre suffisamment d’espace pour le rendre à nouveau contigu. Cela présente le même problème que dans l’exemple précédent: s’il y a un petit nombre de fichiers ou pas beaucoup de données à déplacer, ce n’est pas un gros problème, mais s’il y a des milliers ou même des dizaines de milliers de fichiers, il n’y a pas de t suffisamment de temps pour déplacer tous ces fichiers.
  3. Ajoutez un nouveau bloc ailleurs et indiquez que F a une seconde étendue (Voir l’exemple 5 dans l’image). Répétez cette centaines de fois et le système de fichiers aura un certain nombre de petits segments gratuits dispersés à de nombreux endroits, et certains fichiers auront plusieurs étendus. Lorsqu’un fichier a de nombreuses extensions comme celle-ci, le temps d’accès pour ce fichier peut devenir excessivement long en raison de toute la recherche aléatoire, le disque devra faire lors de la lecture.

De plus, le concept de «fragmentation» n’est pas seulement limité aux fichiers individuels qui ont plusieurs étendues sur le disque. Par exemple, un groupe de fichiers normalement lus dans une séquence particulière (comme les fichiers accessibles par un programme lorsqu’il se charge, qui peut inclure certaines DLL, divers fichiers de ressources, les fichiers multimédias audio / visuels dans un jeu) peuvent être considérés comme fragmentés si Ils ne sont pas dans un ordre de charge séquentiel sur le disque, même si ces fichiers individuels sont pas fragmenté; Les têtes de lecture / écriture devront rechercher ces fichiers (non fragmentés) au hasard pour y accéder en séquence. Certains groupes de fichiers peuvent avoir été initialement installés dans la séquence correcte, mais se séparent avec le temps car certains fichiers du groupe sont supprimés. Les mises à jour sont une cause courante de cela, car pour mettre à jour un fichier, la plupart des mises à jour suppriment généralement l’ancien fichier d’abord, puis écrivez un nouveau mis à jour à sa place. Cependant, la plupart des systèmes de fichiers n’écrivent pas le nouveau fichier dans le même endroit physique sur le disque. Cela permet aux fichiers non liés de remplir les espaces vides laissés pour compte.

Atténuation [ modifier ]]

La défragmentation est le fonctionnement des étendues de fichiers mobiles (blocs d’allocation physique) afin qu’ils finissent par fusionner, de préférence en un. Cela nécessite généralement au moins deux opérations de copie: l’une pour déplacer les blocs dans un espace de grattage libre sur le disque afin que plus de mouvements puissent se produire, et un autre pour enfin déplacer les blocs dans leur place prévue. Dans un tel paradigme, aucune donnée n’est jamais supprimée du disque, afin que l’opération puisse être arrêtée en toute sécurité même en cas de perte de puissance. L’image de l’article en représente un exemple.

Pour défragmenter un disque, le logiciel de défragmentation (également connu sous le nom de “défragmenteur”) ne peut déplacer des fichiers que dans l’espace libre disponible. Il s’agit d’une opération intensive et ne peut pas être effectuée sur un système de fichiers avec peu ou pas d’espace libre. Pendant la défragmentation, les performances du système seront dégradées et il est préférable de laisser l’ordinateur seul pendant le processus afin que le défragmenteur ne soit pas confondu par des modifications inattendues du système de fichiers. Selon l’algorithme utilisé, il peut ou non être avantageux d’effectuer plusieurs passes. La réorganisation impliquée dans la défragmentation ne modifie pas l’emplacement logique des fichiers (défini comme leur emplacement dans la structure du répertoire).

Outre la défragmentation des fichiers du programme, l’outil de défragment peut également réduire le temps nécessaire pour charger des programmes et ouvrir des fichiers. Par exemple, le defragmenter de Windows 9x comprenait l’accélérateur de lancement de l’application Intel qui a optimisé les programmes sur le disque en plaçant les fichiers de programme défragmentés et leurs dépendances les uns à côté des autres, dans l’ordre dans lequel le programme les charge, pour charger ces programmes plus rapidement. [d’abord] Dans Windows, un bon défragmenteur lira les fichiers pré-écaille pour identifier autant de ces groupes de fichiers que possible et placer les fichiers en leur sein en séquence d’accès.

Au début du disque dur, les pistes extérieures ont un taux de transfert de données plus élevé que les pistes intérieures. Placer des fichiers fréquemment accessibles sur les pistes extérieures augmente les performances. [2] Les défragmenteurs tiers, tels que MyDefrag, déplaceront des fichiers fréquemment accessibles sur les pistes extérieures et défragment ces fichiers. [3]

Les améliorations des disques durs modernes tels que le cache RAM, la vitesse de rotation du plateau plus rapide, la file d’attente de commandement (SCSI / ATA TCQ ou SATA NCQ) et une plus grande densité de données réduisent l’impact négatif de la fragmentation sur les performances du système dans une certaine mesure, bien que l’augmentation des données couramment utilisées Les quantités compensent ces avantages. Cependant, les systèmes modernes profitent énormément des énormes capacités de disque actuellement disponibles, car les disques partiellement remplis fragment beaucoup moins que les disques complets, [4] Et sur un disque dur de haute capacité, la même partition occupe une plus petite gamme de cylindres, ce qui entraîne des chercheurs plus rapides. Cependant, le temps d’accès moyen ne peut jamais être inférieur à une demi-rotation des plateaux, et la rotation des plateaux (mesurée en RPM) est la caractéristique de la vitesse des disques durs qui ont connu la croissance la plus lente au cours des décennies (par rapport au taux de transfert de données et recherchent du temps ), donc minimiser le nombre de recherches reste bénéfique dans la plupart des applications lourdes de stockage. La défragmentation n’est que cela: s’assurer qu’il existe au plus une recherche par fichier, en comptant uniquement les chercheurs à des pistes non adjacentes.

Partitionnement [ modifier ]]

Une stratégie commune pour optimiser la défragmentation et pour réduire l’impact de la fragmentation consiste à partitionner le ou les disques durs d’une manière qui sépare les partitions du système de fichiers qui éprouvent beaucoup plus de lectures que les écritures à partir des zones plus volatiles où les fichiers sont créés et supprimés fréquemment. Les répertoires qui contiennent les profils des utilisateurs sont constamment modifiés (en particulier avec le répertoire temporaire et le cache du navigateur Web créant des milliers de fichiers qui sont supprimés en quelques jours). Si les fichiers des profils utilisateur sont conservés sur une partition dédiée (comme cela est généralement fait sur les systèmes de fichiers recommandés UNIX, où il est généralement stocké dans la partition / var), le défragmenteur fonctionne mieux car il n’a pas besoin de traiter tous les fichiers statiques D’autres répertoires. (Alternativement, un défragmentateur peut être invité à exclure simplement certains chemins de fichier.) Pour les partitions avec relativement peu d’activité d’écriture, le temps de défragmentation s’améliore considérablement après la première défragmentation, car le défragmentateur devra défragmenter seulement un petit nombre de nouveaux fichiers à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir à l’avenir .

Défragmentation hors ligne [ modifier ]]

La présence de fichiers système immobiliers, en particulier un fichier de swap, peut entraver la défragmentation. Ces fichiers peuvent être déplacés en toute sécurité lorsque le système d’exploitation n’est pas utilisé. Par exemple, NTFSResize déplace ces fichiers pour redimensionner une partition NTFS. L’outil PageDefrag pourrait défragmenter les fichiers système Windows tels que le fichier d’échange et les fichiers qui stockent le registre Windows en exécutant au démarrage avant l’interface graphique. Depuis Windows Vista, la fonctionnalité n’est pas entièrement prise en charge et n’a pas été mise à jour.

Dans NTFS, comme des fichiers sont ajoutés au disque, la table de fichiers maître (MFT) doit développer les informations des nouveaux fichiers. Chaque fois que le MFT ne peut pas être prolongé en raison d’un fichier sur le chemin, le MFT gagnera un fragment. Dans les premières versions de Windows, il ne pouvait pas être défragmenté en toute sécurité pendant que la partition était montée, et Microsoft a donc écrit un obstacle dur dans l’API défragmentant. Cependant, depuis Windows XP, un nombre croissant de défragmentateurs sont désormais en mesure de défragmenter le MFT, car l’API de défragmentation de Windows a été améliorée et prend maintenant en charge cette opération de déplacement. [5] Même avec les améliorations, les quatre premiers grappes de la MFT restent inhalimentables par l’API de défragmentation de Windows, ce qui entraîne le fait que certains défragmentateurs stockeront le MFT en deux fragments: les quatre premiers grappes partout où ils ont été placés lorsque le disque a été formaté, et Ensuite, le reste du MFT au début du disque (ou partout où la stratégie de défragmenteur juge le meilleur endroit).

Disques à semi-conducteurs [ modifier ]]

Lors de la lecture des données d’un disque dur électromécanique conventionnel, le contrôleur de disque doit d’abord positionner la tête, relativement lentement, sur la piste où réside un fragment donné, puis attendre pendant que le plateau de disque tourne jusqu’à ce que le fragment atteigne la tête. Un lecteur à semi-conducteurs (SSD) est basé sur la mémoire flash sans pièces mobiles, donc l’accès aléatoire d’un fragment de fichier sur la mémoire flash ne subit pas ce retard, ce qui fait de la défragmentation pour optimiser la vitesse d’accès inutile. De plus, comme la mémoire flash ne peut être écrite qu’à un nombre limité de fois avant qu’il ne manque, la défragmentation est en fait préjudiciable (sauf dans l’atténuation de l’échec catastrophique). Cependant, Windows dégage toujours un SSD automatiquement (bien que moins vigoureusement) pour empêcher le système de fichiers d’atteindre sa tolérance de fragmentation maximale. Une fois la limite de fragmentation maximale atteinte, les tentatives ultérieures d’échouer au disque échouent. [6]

Disques durs SMR [ modifier ]]

Bien que de nombreux disques durs SMR acceptent la commande de TRIM, les disques durs SMR sont toujours nécessaires pour améliorer les performances.

Approche et défragmentateurs par type de système de fichier [ modifier ]]

Un utilitaire de défragmentation Windows
  • FAT: MS-DOS 6.x et Windows 9x-Systems sont livrés avec un utilitaire de défragmentation appelé Defrag. La version DOS est une version limitée de Norton SpeedDisk. [7] La version fournie avec Windows 9x a été licenciée de Symantec Corporation, et la version fournie avec Windows 2000 et XP est sous licence de CondUsiv Technologies.
  • NTFS a été introduit avec Windows NT 3.1, mais le pilote du système de fichiers NTFS n’a inclus aucune capacité de défragmentation. [8] Dans Windows NT 4.0, des API de défragmentation ont été introduites que les outils tiers pouvaient utiliser pour effectuer des tâches de défragmentation; Cependant, aucun logiciel de défragmentation n’a été inclus. Dans Windows 2000, Windows XP et Windows Server 2003, Microsoft a inclus un outil de défragmentation basé sur le déshyche [9] Cela a utilisé les API de défragmentation et était un instantané pour la gestion de l’ordinateur. Dans Windows Vista, Windows 7 et Windows 8, l’outil a été considérablement amélioré et a reçu une nouvelle interface sans diskmap visuel et ne fait plus partie de la gestion informatique. [dix] [11] Il existe également un certain nombre de produits de défragmentation tiers gratuits et commerciaux disponibles pour Microsoft Windows.
  • BSD UFS et en particulier FreeBSD utilise un Reallocator interne qui cherche à réduire la fragmentation directement au moment où les informations sont écrites sur le disque. [douzième] Cela contrôle efficacement la dégradation du système après une utilisation prolongée.
  • BTRFS a une défragmentation en ligne et automatique disponible. [13]
  • Linux EXT2, EXT3 et EXT4: Tout comme UFS, ces systèmes de fichiers utilisent des techniques d’allocation conçues pour garder la fragmentation sous contrôle à tout moment. [14] En conséquence, la défragmentation n’est pas nécessaire dans la grande majorité des cas. [15] ext2 utilise un défragmenteur hors ligne appelé e2defrag , qui ne fonctionne pas avec son successeur ext3. Cependant, d’autres programmes, ou les fichiers indépendants du système tels que Defragfs, [16] Peut être utilisé pour défragmenter un système de fichiers EXT3. EXT4 est quelque peu en arrière compatible avec EXT3, et a donc généralement le même soutien des programmes de défragmentation. Actuellement, E4Defrag peut être utilisé pour défragmenter un système de fichiers EXT4, y compris la défragmentation en ligne.
  • Vxfs a le fsadm Utilité qui comprend les opérations Defrag.
  • JFS a le débragf Utilité sur les systèmes d’exploitation IBM. [17]
  • HFS Plus introduit en 1998 avec Mac OS 8.1 a un certain nombre d’optimisations aux algorithmes d’allocation afin de tenter de défragmenter les fichiers pendant leur accession sans défragmenteur séparé. [18] Il existe plusieurs restrictions pour que les fichiers soient des candidats pour la défragmentation «à la volée» (y compris une taille maximale de 20 Mo). Il y a un utilitaire, idefrag, par les systèmes Coriolis disponibles depuis OS X 10.3. Sur la défragmentation traditionnelle du Mac OS, peut être effectuée par Norton Speeddisk et TechTool Pro.
  • WAFL dans le système d’exploitation ONTAP 7.2 de NetApp a une commande appelée réaffecter qui est conçu pour défragmenter les fichiers volumineux.
  • XFS fournit un utilitaire de défragmentation en ligne appelé xfs_fsr .
  • SFS traite la fonction de défragmentation de manière presque complètement apatride (en dehors de l’emplacement sur lequel il fonctionne), de sorte que la défragmentation peut être arrêtée et démarrée instantanément. [19]
  • ADFS, le système de fichiers utilisé par RISC OS et les ordinateurs ACORN antérieurs, maintient la fragmentation des fichiers sous contrôle sans nécessiter de défragmentation manuelle. [20]

Voir également [ modifier ]]

  1. ^ La pratique de marquer l’espace désormais inutilisé d’un fichier supprimé dans un tableau disponible pour une utilisation ultérieure (sans effacer son contenu), est la raison pour laquelle les programmes indépendants sont capables de fonctionner; Ils récupérent des fichiers dont les noms ont été supprimés du répertoire, mais dont l’espace n’a pas encore été réutilisé. [ citation requise ]]

Les références [ modifier ]]

  1. ^ Cwdixon.com Archivé 2010-10-06 sur la machine Wayback. Cwdixon.com. Récupéré le 2013-07-28.
  2. ^ L’ultime défrager – Larud’s Place . Larud.net (2012-01-19). Récupéré le 2013-07-28.
  3. ^ “Mydefrag v4.2.8” . Archivé de l’original en 2010-02-16 . Récupéré 2014-08-14 . Sur la plupart des cas dur, le début du disque dur est considérablement plus rapide que la fin, parfois jusqu’à 200%! Vous pouvez mesurer cela vous-même avec des services publics tels que * HD Tune. MyDefrag est donc orienté vers le déplacement de tous les fichiers au début du disque.
  4. ^ Serdar Yegulalp (20 septembre 2005). “De nouveaux entraînements de disque dur réduisent le besoin de défragmentation du disque” . Searchwindowsserver.com: Disk Defragmentation Fast Guide . Archivé de l’original le 3 juin 2008 . Récupéré 2008-12-27 .
  5. ^ “Windows XP: les améliorations du noyau créent un système d’exploitation plus robuste, puissant et évolutif – MSDN Magazine, décembre 2001” . Archivé de l’original le 2003-2004-24 . Récupéré 2006-12-19-19 . msdn.microsoft.com: “L’autre grande amélioration [dans Windows XP] est la prise en charge de la défragmentation en ligne du MFT et de la plupart des métadonnées de répertoire et de fichier”
  6. ^ Hanselman, Scott (3 décembre 2014). “L’histoire réelle et complète – Windows défragmente-t-il votre SSD?” . Blog de Scott Hanselman . Microsoft. Archivé de l’original le 22 décembre 2014.
  7. ^ Norton, Peter (octobre 1994). Guide complet de Peter Norton sur DOS 6.22 . Sams. p. 521 .
  8. ^ M. Kozierok, Charles (2001-04-17). “Versions NTFS” . Guide PC. Archivé de l’original le 2015-09-24 . Récupéré 2015-02-20 .
  9. ^ Outils de défragmentateur de disque tiers pour Windows Archivé 2011-11-28 à la machine Wayback. Support.microsoft.com (2011-08-23). Récupéré le 2013-07-28.
  10. ^ “Défragmentation du disque – Contexte et ingénierie des améliorations Windows 7” . Archivé de l’original le 2014-06-13 . Récupéré 2014-06-15 .
  11. ^ “Nouvelles options Defrag dans Windows 8” . 13 novembre 2011. Archivé de l’original le 2015-02-20 . Récupéré 2014-06-15 .
  12. ^ “Pages freebsd man” . Le projet FreeBSD. Archivé de l’original le 21 février 2015 . Récupéré 21 février 2015 .
  13. ^ “Linux Kernel 3.0, section 1.1. BTRFS: défragmentation automatique, lavage, améliorations des performances” . kernelnewbies.org . 2011-07-21. Archivé de l’original le 2016-03-30 . Récupéré 2016-04-05 .
  14. ^ “HTG explique: pourquoi Linux n’a pas besoin de défragment” . Geek. . Archivé de l’original le 2013-07-19 . Récupéré 2013-08-01 .
  15. ^ 5.10. Système de fichiers Archivé 2013-05-27 sur la machine Wayback. TLDP.org (2002-11-09). Récupéré le 2013-06-22.
  16. ^ Erik Bärwaldt: Optimisation de l’organisation des données sur le disque Archivé 2014-09-06 sur la machine Wayback
  17. ^ “Prise en charge du système de fichiers de journalisation” . ecomstation . Archivé de l’original le 2008-12-08 . Récupéré 2008-12-27 .
  18. ^ “Fragmentation dans les volumes HFS plus” . Archivé de l’original le 18 novembre 2012 . Récupéré 2 septembre 2020 . Comme nous l’avons vu, un volume HFS + semble résister plutôt bien à la fragmentation sur Mac OS X 10.3.x, et je n’imagine pas la fragmentation comme un problème suffisamment mauvais pour nécessiter des remèdes proactifs (comme un outil de défragment).
  19. ^ “Détection d’un point de fragmentation de fichiers pour reconstruire des fichiers fragmentés en utilisant des tests d’hypothèse séquentiels” . US8407192 B2. Archivé de l’original le 21 février 2015 . Récupéré 21 février 2015 .
  20. ^ Reeves, Nick (26 octobre 1990). “Document de conception du format” ” . Archivé de l’original le 7 avril 2013 . Récupéré 24 mai deux mille treize .

Sources [ modifier ]]

  • Norton, Peter (1994) Guide complet de Peter Norton sur DOS 6.22 , page 521 – sams ( ISBN 067230614X)
  • Woody Leonhard, Justin Leonhard (2005) Windows XP Techniques de sauvetage pour les nuls, deuxième édition Page 456 – pour les nuls ( ISBN 0-764578-839).
  • Jensen, Craig (1994). Fragmentation: la condition, la cause, le remède . Software Executive International ( ISBN 0-9640049-0-9).
  • Dave Kleiman, Laura Hunter, Mahesh Sayarayana, Kimon Andreou, Nancy G Altholz, Lawrence Abrams, Darren Windham, Tony Bradley et Brian Barber (2006) Winternals: défragmentation, récupération et guide sur le terrain de l’administration – Syngress ( ISBN 1-597490-792)
  • Robb, Drew (2003) Gestion du disque du serveur dans un environnement Windows Chapitre 7 – Auerbach ( ISBN 0849324327)

Liens externes [ modifier ]]

after-content-x4