au sommaire


    Pourquoi les MacMac et les PCPC ne peuvent pas toujours lire ou écrire des données enregistrées sur une clé USBUSB ? Pour des raisons propres à la façon dont sont organisés les fichiers sur la surface d'un disque durdisque dur. Explications.

    Mac et PC : les deux frères ennemis sont forcés de cohabiter dès qu'il s'agit d'échanger des fichiers sur des supports de stockage. © Sylvain Biget

    Mac et PC : les deux frères ennemis sont forcés de cohabiter dès qu'il s'agit d'échanger des fichiers sur des supports de stockage. © Sylvain Biget

    C'est connu : en informatique, il existe des univers parallèles qui ont du mal à communiquer les uns avec les autres. Les aficionados des Mac ne jurent que par leur écosystèmeécosystème, tout comme ceux de la planète Windows. Enfin, les adeptes des distributions Linuxdistributions Linux n'aiment pas spécialement sortir de leur îlot. La cohabitation de ces mondes s'apparente à de la politique. Mais voilà, les données ne font pas de politique et elles doivent pouvoir transiter d'un système d'exploitation à l'autre sans encombre.

    Au-delà des supports de stockage, c'est la manière dont sont gérées, par un système d'exploitationsystème d'exploitation, les données sur un disque dur qui offre plus ou moins de compatibilitécompatibilité entre ces différents univers. On parle de système de fichier, ou de format de fichier, d'où le terme « formatageformatage » pour un lecteur (disque dur, clé USB...). Ainsi, même s'il y a eu des progrès, un Mac ne peut pas forcément écrire sur une clé USB provenant d'un PC et vice versa.

    Des secteurs physiques et des clusters logiciels

    Quel que soit le support de stockage, pour pouvoir écrire, lire, effacer des données, il faut que le système d'exploitation soit capable de pouvoir à tout moment localiser ou positionner des informations sur le support. Celles-ci sont enregistrées sur des secteurs d'une taille de 512 octetsoctets. Et ces secteurs sont rassemblés en clusters. Ce sont eux que le système d'exploitation va traiter. Dans tous les cas, il se limite à la gestion des clusters. Autrement dit, des données, même d'une taille inférieure à 512 octets, vont forcément condamner l'ensemble des autres secteurs du cluster.

    Schéma d'un disque dur. Sur les différents plateaux (<em>Platters</em>, en anglais sur le schéma), la plus petite unité de stockage est le secteur (<em>Sector</em>). Sa taille est fichée à 512 octets. Toutefois, la plus petite unité de stockage que peut lire le système d'exploitation est le cluster. Chaque cluster renferme un ou plusieurs secteurs selon la taille de l'unité de stockage et le format du système de fichier. Un même fichier peut être fragmenté sur plusieurs secteurs placés à différents endroits sur les plateaux du disque. Les têtes de lecture-écriture (<em>Read/Write Heads</em>) vont devoir se déplacer sur la surface des plateaux pour lire ces données. © Microsoft

    Schéma d'un disque dur. Sur les différents plateaux (Platters, en anglais sur le schéma), la plus petite unité de stockage est le secteur (Sector). Sa taille est fichée à 512 octets. Toutefois, la plus petite unité de stockage que peut lire le système d'exploitation est le cluster. Chaque cluster renferme un ou plusieurs secteurs selon la taille de l'unité de stockage et le format du système de fichier. Un même fichier peut être fragmenté sur plusieurs secteurs placés à différents endroits sur les plateaux du disque. Les têtes de lecture-écriture (Read/Write Heads) vont devoir se déplacer sur la surface des plateaux pour lire ces données. © Microsoft

    Un système de fichier comme carnet d'adresses des données

    Or, selon le type de système de fichier choisi, il peut y avoir plus ou moins de secteurs dans un même cluster. Moins il y en a et plus il va y avoir de gaspillage d'espace de stockage si ces secteurs ne sont pas remplis.

    Pour compliquer les choses, il faut savoir que ces clusters sont des unités logiques qui ne sont pas rassemblées physiquement sur le support de stockage. Cela signifie qu'un même fichier peut se retrouver sur plusieurs clusters, qui sont répartis à différents endroits sur le support de stockage. Pour que le système d'exploitation puisse s'y retrouver, tous les emplacements d'un fichier sont référencés dans une table d'allocation. C'est elle qui a donné son nom au format FAT (File Allocation Table) propre à MicrosoftMicrosoft. Ainsi, le nom du fichier, sa taille, sont indexés à la table d'allocation qui va aller chercher physiquement les différents fragments du fichier sur le support. Le principe est équivalant avec les autres systèmes de fichier (UnixUnix, Linux...), sauf que les noms ne sont pas pris en compte et sont remplacés par des numéros uniques.

    Des limitations selon le système de fichier

    Enfin, dernière limitation : le nombre maximal de clusters d'un support de disque dur va dépendre du format employé. Par exemple, la norme FAT qui date des années 1990, limitait la prise en charge des clusters à un volume total de 2 Go. Pour gérer un disque dur de plus grande capacité, il fallait alors créer de nouvelles partitionspartitions logiques de 2 Go maximum. De même, la taille maximale d'un fichier est limitée à 2 Go. Au-delà, le fichier n'est pas complet, donc illisible. Son évolution en FAT 32 permet d'aller bien plus loin avec une limite de 2 To et des fichiers de 4 Go. Enfin, le dernier inconvénient du FAT, c'est que les fichiers ont tendance à s'éparpiller franchement sur le disque dur. C'est ce qu'on appelle « la fragmentation ». Pour ne pas perdre en performances, il est alors nécessaire de réorganiser les emplacements des fichiers sur le disque dur. Cette technique n'est pas nécessaire sur un support de mémoire flashmémoire flash en raison du temps d'accès immédiat.

    Pour passer outre ces contraintes, Microsoft a mis au point le NTFS. Issu de l'univers des serveursserveurs, il est bien plus performant, plus fiable et fonctionne un peu à l'image d'une base de donnéesbase de données. La taille des clusters est déterminée automatiquement par celle de la capacité de stockage et la fragmentation n'est plus un problème. La limite par volume est de 256 To avec des fichiers de 16 To !

    Système de fichier NTSF avec Windows 10 sur un disque dur SSD. Plusieurs partitions sont disponibles sur ce disque dur. © Sylvain Biget

    Système de fichier NTSF avec Windows 10 sur un disque dur SSD. Plusieurs partitions sont disponibles sur ce disque dur. © Sylvain Biget

    Quel est le format le plus universel ?

    L'avantage du FAT 32, c'est qu'il est exploitable en lecture et en écriture aussi bien par les PC, que les Mac. C'est pour cette raison que les clés USB, les cartes SD et disques durs externes sont essentiellement formatés en FAT ou en FAT 32. Par ailleurs, pour la mémoire flash, Microsoft a également mis au point un système de fichier amélioré baptisé ExFAT.

    Qui est compatible avec quoi ?

    Aujourd'hui, on retrouve essentiellement quatre systèmes de fichiers :

    • Le FAT32 est exploité universellement. Il peut être lu et écrit par les PC et les Mac. Sa limite de stockage sur un seul volume est de 2 To et les fichiers ne peuvent pas dépasser les 4 Go.
    • L'exFAT est une amélioration du FAT32 ; avec lui, les limitations de tailles sont éliminées. Il peut être lu et écrit par les PC et les Mac. En revanche, il n'est pas souvent pris en charge par les autres équipements (TV, Box...), ce qui est dommage, car c'est le format le plus universel.
    • Le NTFS est le format que l'on retrouve sur l'ensemble des PC actuels. La fragmentation des fichiers est réduite au minimum, la sécurisation des données est renforcée et il n'y a aucune limite de stockage. Le gros inconvénient, c'est que les Mac ne peuvent pas écrire sur une clé USB ou un volume exploitant le NTFS. Seule la lecture est possible.
    • Le HFS+ est le format des Mac. Équivalent du NTSF ou des formats Linux, il ne peut être lu sur un PC et il est encore moins possible d'y écrire quelque chose. Le volume est alors reconnu comme un élément non formaté.

    Sur les PC animés par les distributions Linux, le format de fichier est généralement Ext3FS, Ext4FS, ReiserFS, ou BtrFS. Ces formats sont souples et s'accommodent sans souci des standards.