Ordi-Senior
Pour les... juniors en informatique personnelle !

La fragmentation des fichiers



Données du problème


Tout système d'exploitation (comme Windows, Mac OS, Linux...) a - entre autres tâches - celle de gérer l'ensemble des fichiers de l'ordinateur. Les programmes ou applications se contentent alors de faire appel au système lorsqu'elle veulent écrire ou lire un fichier.



L'espace de stockage, en général le disque dur, peut être représenté par une ligne graduée, dont chaque graduation correspond à la plus petite partie adressable (appelée cluster -grappe en français-).

Lorsqu'un fichier est créé, le système doit le ranger dans cet espace et noter son adresse dans une "table des matières" qui permettra ensuite de retrouver les données contenues dans ce fichier, à partir de son nom.

Exemple => J'écris un document nouveau que j'enregistre sous le nom 'lettre.txt'.

Le système :
  1. enregistre le contenu à la première adresse disque disponible (par exemple : 126)
  2. utilise un certain nombre de clusters de sorte à contenir l'intégralité des données (par exemple : 4)
  3. créée une nouvelle ligne dans la table des matières contenant :
    • Nom : lettre.txt
    • Adresse de début : 126
    • Adresse de fin : 129
    • Taille des données : 14200 octets
Ceci pour le principe.

Voyons maintenant les différentes approches pour gérer la place réservée à un fichier (stratégie d'allocation pour les spécialistes).

Différentes stratégies


Deux approches s'opposent :
  1. méthode "statique"
  2. méthode "dynamique"

1. Méthode statique

À la création de tout fichier, on lui accorde une place de taille prédéfinie, sans tenir compte des besoins réels en terme de données utiles.

2. Méthode dynamique

À la création de tout fichier, on lui accorde une place d'une taille variable, en fonction des besoins réels en terme de données utiles.

★ La méthode 1 a été généralement et est encore utilisée sur les gros systèmes informatiques, dans des contextes où on sait à l'avance quelle va être la quantité de données présentes et où les types de fichiers sont limités à certains types.

★ La méthode 2 est utilisée dans le domaine micro-informatique, car les besoins en matière de fichiers sont très divers et souvent imprévisibles quant à la taille. (Ex. : la taille d'une photo numérique peut varier dans d'énormes proportions selon la résolution en pixels du cliché).

Avantages et inconvénients des deux méthodes


Comparaison des deux méthodes
Éléments Statique Dynamique
Taux d'occupation
effective du
support
VARIABLE EXCELLENT
Fichiers fragmentés NON
(ou très peu)
STABLE
OUI
Évolutif à la hausse
Réorganisation nécessaire NON
(ou très peu souvent)
OUI
Fréquente
Création fichier
(temps nécessaire)
Peut nécessiter
un peu de temps
TRÈS COURT
Temps de lecture TRÈS BON MOINS BON
(si fichier fragmenté)


Les deux méthodes sont respectivement les meilleures dans leur contexte d'utilisation.

Dans le domaine de la micro-informatique, trop de types différents sont présents, et il existe une grande disparité de tailles de fichiers. En prenant le seul exemple des fichiers images (photos numériques), dans un type donné (.jpg), les tailles peuvent varier de quelques kilo-octets à plusieurs méga-octets. Il est donc impossible de se donner une taille fixe.
Même si les disques actuels ne cessent de grandir en taille, il y aurait un gaspillage de l'espace disque en fixant des tailles imposées.

Par ailleurs, les temps de vie des différents fichiers sont très variables sur un PC.

Tout ceci fait que nous devrons encore longtemps, défragmenter régulièrement nos disques !



Retour en haut