Parmi les fonctions d’un système d’exploitation, ce dernier se doit de pouvoir stocker des données sous la forme de fichier et dossiers.
Pour ce faire, l’OS créé un système de fichiers.
Dans ce guide, vous allez apprendre ce qu’est un système de fichiers à travers une définition simple.
Vous trouverez aussi des exemples de systèmes de fichiers tels que NTFS, ext4, FAT, exFAT, APFS, HPFS+, JFS, ReiserHS, etc.
![Système de fichiers : définition et fonctionnement](https://www.malekal.com/wp-content/uploads/2023/06/systeme-de-fichiers.jpg)
Qu’est-ce que le système de fichiers ?
Un système de fichiers définit la manière dont les fichiers sont nommés, stockés et récupérés sur un périphérique de stockage.
Un système de fichiers gère généralement des opérations telles que la gestion du stockage, le nommage des fichiers, les répertoires/dossiers, les métadonnées, les règles d’accès, permissions, privilèges et quota.
Chaque fois que vous ouvrez un fichier sur votre ordinateur ou votre appareil intelligent, votre système d’exploitation utilise son système de fichiers en interne pour le charger à partir du périphérique de stockage.
De même, lorsque vous copiez, modifiez ou supprimez un fichier, le système de fichiers s’en charge en interne.
Il s’agit donc d’une structure logique qui va lui permettre d’enregistrer les fichiers et dossiers mais aussi de pouvoir les retrouver.
La création du système de fichiers se fait durant la procédure de formatage.
![Le système de fichiers et accès aux périphériques de stockage](https://www.malekal.com/wp-content/uploads/2019/11/Systeme-exploitation-OS-disques-systeme-fichiers.jpg)
Un système de fichiers installé sur un système d’exploitation se compose de trois couches :
- Système de fichiers physique : interagit avec le matériel de stockage par l’intermédiaire de pilotes de périphériques
- Système de fichiers virtuels (VFS) : offre une vue cohérente des différents systèmes de fichiers montés sur le même système d’exploitation
Ces couches peuvent être mises en œuvre en tant qu’abstractions indépendantes ou étroitement couplées.
Quelles sont les fonctionnalités principalement d’un système de fichiers
Outre l’organisation des fichiers sur le périphérique de stockage, les systèmes de fichiers peuvent jouer d’autres rôles.
Gestion de l’accès aux fichiers
Tout le monde ne devrait pas pouvoir supprimer ou modifier un fichier dont il n’est pas propriétaire ou pour lequel il n’est pas autorisé à le faire.
Les systèmes de fichiers modernes fournissent des mécanismes permettant de contrôler l’accès des utilisateurs aux fichiers et les possibilités qui leur sont offertes.
Les données relatives aux autorisations des utilisateurs et à la propriété des fichiers sont stockées dans une structure de données appelée liste de contrôle d’accès (ACL) sous Windows ou entrées de contrôle d’accès (ACE) sous les systèmes d’exploitation de type Unix (Linux et Mac OS).
Cette fonction est également disponible dans la CLI (Invite de commande ou Terminal), où un utilisateur peut modifier la propriété des fichiers ou limiter les autorisations de chaque fichier directement à partir de l’interface de la ligne de commande.
Journalisation et maintien de l’intégrité des données
Afin d’éviter la perte de données, par exemple, lors d’une coupure de courant ou plantage du système d’exploitation, certains intègrent des fonctionnalités de maintien de l’intégrité des données.
Un des mécanisme utilisé est la journalisation.
Les systèmes de fichiers de journalisation enregistrent chaque opération qui est sur le point de se produire dans la couche physique mais qui ne s’est pas encore produite.
L’objectif principal est de garder une trace des modifications qui n’ont pas encore été validées physiquement dans le système de fichiers.
Le journal est une allocation spéciale sur le disque où chaque tentative d’écriture est d’abord stockée en tant que transaction.
Une fois que les données sont physiquement placées sur le périphérique de stockage, la modification est validée dans le système de fichiers.
En cas de défaillance du système, le système de fichiers détecte la transaction incomplète et la rétablit comme si elle n’avait jamais eu lieu.
Cela dit, le nouveau contenu (qui était en cours d’écriture) peut être perdu, mais les données existantes restent intactes.
Les systèmes de fichiers modernes tels que NTFS, APFS et ext4 (même ext3) utilisent la journalisation pour éviter la corruption des données en cas de défaillance du système.
Chiffrement des données
Pour protéger l’accès aux données, le système de fichiers peut prendre en charge le chiffrement de disque ou le chiffrement de fichiers.
Cela est notamment utile pour les PC portables ou encore les serveurs.
Par exemple, NTFS propose le chiffrement de disque BitLocker, ainsi que le chiffrement de fichiers EFS.
Système de quotas
Les quotas sont utilisés pour limiter la quantité d’espace disque qu’un utilisateur ou un groupe peut utiliser sur un système de fichiers. Sans ces limites, un utilisateur pourrait remplir le disque de la machine et causer des problèmes aux autres utilisateurs et services.
Cette fonctionnalité est très utile pour les serveurs de fichiers.
Quels sont les principaux systèmes de fichiers
FAT (File Allocation Table)
La table d’allocation de fichiers (FAT) est un système de fichiers créé par Microsoft en 1977 et toujours utilisé aujourd’hui comme système de fichiers préféré pour les lecteurs de disquettes et les dispositifs de stockage portables de grande capacité tels que les lecteurs flash et autres dispositifs de mémoire à l’état solide tels que les cartes SD.
FAT était le principal système de fichiers utilisé dans tous les systèmes d’exploitation grand public de Microsoft, de MS-DOS à Windows ME. Bien que FAT soit toujours une option prise en charge dans les systèmes d’exploitation plus récents de Microsoft, NTFS est le principal système de fichiers utilisé de nos jours.
Le système de fichiers File Allocation Table a connu des évolutions au fil du temps, principalement en raison de la nécessité de prendre en charge des disques durs plus grands et des fichiers plus volumineux.
Ainsi, les versions FAT12, FAT16 et FAT32 se sont succédées.
exFAT (Extended File Allocation Table)
exFAT, introduit pour la première fois en 2006, est un autre système de fichiers créé par Microsoft, bien qu’il ne s’agisse pas de la “prochaine” version de FAT après FAT32.
Ce système est principalement destiné à être utilisé sur des périphériques de stockage portables tels que les lecteurs flash, les cartes SDHC et SDXC, etc. exFAT prend officiellement en charge les périphériques de stockage portables d’une taille maximale de 512 TiB, mais pourrait théoriquement prendre en charge des disques d’une taille maximale de 64 ZiB, ce qui est considérablement plus grand que n’importe quel support disponible au moment où nous écrivons ces lignes.
La prise en charge intégrée des noms de fichiers de 255 caractères et la prise en charge d’un maximum de 2 796 202 fichiers par répertoire sont deux caractéristiques remarquables du système exFAT.
Le système de fichiers exFAT est pris en charge par presque toutes les versions de Windows (les plus anciennes avec les mises à jour optionnelles), Mac OS X (10.6.5+), ainsi que par de nombreux téléviseurs, appareils multimédia et autres dispositifs.
NTFS (New Technology File System)
NTFS, acronyme de New Technology File System, est un système de fichiers introduit pour la première fois par Microsoft en 1993 avec la sortie de Windows NT 3.1.
C’est le principal système de fichiers utilisé dans les systèmes d’exploitation Windows 11, Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows 2000 et Windows NT de Microsoft.
Les systèmes d’exploitation de la gamme Windows Server utilisent aussi principalement NTFS. Il est également pris en charge par d’autres systèmes d’exploitation, tels que Linux et BSD. macOS offre un support en lecture seule pour NTFS.
NTFS est le système de fichiers par défaut de Windows depuis Windows 2000.
Les fonctionnalités :
- Une journalisation des changements de disque et en cas de panne de courant ou d’erreurs brutales. Une restauration est possible à partir de l’utilitaire chkdsk
- Des clichés instantanés pour les sauvegardes de fichiers
- Le chiffrement EFS et chiffrement de disque BitLocker
- La gestion des autorisations et permissions
- gère des fichiers de taille maximal de 16 To
HFS+ (Hierarchical File System)
Mac OS Extended (HFS+) a été introduit en 1998 pour Mac OS 8.1, l’itération précédente du système d’exploitation de bureau trouvé sur les ordinateurs d’Apple qui fonctionnaient avec les processeurs PowerPC d’IBM. Marquant le passage aux processeurs Intel, Apple a introduit OS X, un système d’exploitation remanié basé sur UNIX et capable de fonctionner sur le nouveau matériel.
Apple a introduit un nouveau système de fichiers appelé HFS+, ou HFS Extended, avec la sortie de Mac OS 8.1. HFS+ permet de réduire la taille des clusters ou des blocs, ce qui réduit la taille minimale de chaque fichier.
APFS (Apple File System)
Le code final du système de fichiers Apple (APFS) a été rendu public en même temps que macOS High Sierra en 2017. Le tout nouveau système de fichiers d’Apple est le système par défaut pour les nouvelles installations et les mises à niveau, sauf indication contraire de l’utilisateur. APFS a été conçu pour les appareils à mémoire flash, ce qui en fait une solution adaptée qui met à l’échelle toute la gamme d’appareils d’Apple.
APFS est connu pour augmenter les vitesses de lecture et d’écriture sur les disques durs à semi-conducteurs (SSD), ainsi que pour augmenter l’espace de stockage grâce à la manière dont il calcule les données disponibles sur le disque. Étant donné qu’il a été écrit à partir de la base, la plupart des nouvelles technologies qui ont été mises en œuvre ne sont pas des rétrofits (contrairement à son prédécesseur), mais sont natives au système de fichiers, ce qui permet de meilleures performances lors de l’utilisation d’ordinateurs et d’appareils mobiles modernes.
Les fonctionnalités importantes :
- Clones : Les clones permettent des copies de fichiers presque instantanées sans utiliser d’espace supplémentaire. Au lieu de copier un fichier bit à bit d’un emplacement à l’autre, les clones font référence au fichier d’origine, en partageant les blocs de données identiques entre les deux fichiers
- Chiffrement : prend en charge le chiffrement intégral du disque à l’aide des modes AES-XTS ou AES-CBC.
- Space Sharing : le partage d’espace permet à plusieurs volumes d’un disque de croître et de décroître dynamiquement en fonction des besoins, sans qu’il soit nécessaire de repartitionner
- Snapshots : peut créer un instantané de volume qui représente un point dans le temps. Les instantanés facilitent les sauvegardes efficaces et permettent de revenir en arrière à un moment donné
- Copie sur écriture : Ce système de protection des données permet de partager les structures de données tant qu’aucune modification n’est apportée. Dès qu’une modification est demandée (écriture), une nouvelle copie unique est effectuée, en veillant à ce que l’original reste intact.
Ext4 (Extended filesystem – version 4)
Ext est le système de fichiers par défaut sur les systèmes Linux.
Ext4 (Extended filesystem) est la quatrième génération de la famille de systèmes de fichiers Ext, dont l’origine remonte au système d’exploitation Minix, introduit pour la première fois en 1987.
Le système de fichiers Ext est le premier système de fichiers à sous-tendre le noyau Linux lorsqu’il a été dévoilé en 1992. Il est entré en scène en 2008, avec Linux 2.6.28., succédant à son prédécesseur, ext3.
Ext4 gère parfaitement de nombreux petits fichiers et garantit que les métadonnées sont correctement écrites même si le cache d’écriture perd de la puissance, cela notamment grâce au système d’inode.
Cette version réduit la fragmentation en répartissant les fichiers nouvellement créés sur le disque afin qu’ils ne soient pas regroupés en un seul endroit du disque, comme c’était le cas dans de nombreux systèmes de fichiers des premiers PC.
- Améliorations de l’allocation : Le système de fichiers ext4 alloue plus efficacement les blocs de stockage avant de les écrire sur le disque. Cela améliore les performances de lecture et d’écriture
- Améliorations de l’allocation multiblocs : Un allocateur de blocs recherche des blocs libres pouvant être utilisés pour écrire des données sur le disque. Le système de fichiers ext4 utilise des allocations multiples qui permettent l’allocation de plusieurs blocs par appel. Cela permet de réduire la fragmentation du disque.
- Sensible à la case
- Sommes de contrôle du journal : Le système de fichiers ext4 utilise l’option checksum. Cette option a été introduite pour réduire le risque de corruption des fichiers.
- Contrôles d’accès étendus – ACL
- Support des quotas
- Défragmentation en ligne : prend en charge l’outil e4defrag qui permet aux utilisateurs de défragmenter des fichiers individuels ou l’ensemble du système de fichiers.
XFS
Développé à l’origine par Silicon Graphics en 1993, le système de fichiers XFS est fier d’être un système de fichiers de journalisation 64 bits stable et très performant. Le système de fichiers XFS a été conçu pour prendre en charge des systèmes de fichiers de grande taille (jusqu’à 18 exaoctets) et des fichiers extrêmement volumineux. Ce système de fichiers est conçu pour les systèmes dotés de grandes baies de disques, de gros processeurs et pour ceux qui doivent stocker des fichiers volumineux.
XFS est réputé pour sa grande évolutivité des threads d’E/S et pour ses excellentes performances en matière de traitement des gros fichiers.
Le système de fichiers XFS est le système de fichiers par défaut de RHEL, CentOS et d’autres distributions RHEL telles que Oracle Linux, Rocky Linux et AlmaLinux.
ReiserFS
Le système de fichiers Reiser est le système de fichiers par défaut des distributions SUSE Linux. Reiser FS a été conçu pour supprimer les limites d’évolutivité et de performances des systèmes de fichiers EXT2 et EXT3. Il s’adapte et fonctionne extrêmement bien sous Linux, surpassant EXT3 avec htrees. En outre, Reiser a été conçu pour utiliser très efficacement l’espace disque. C’est donc le meilleur système de fichiers sous Linux lorsqu’il y a un grand nombre de petits fichiers dans le système de fichiers. Comme la collaboration (courrier électronique) et de nombreuses applications web contiennent beaucoup de petits fichiers, Reiser est le mieux adapté à ces types de charges de travail.
- Meilleures performances et évolutivité lorsque le nombre de fichiers est élevé et/ou que les fichiers sont de petite taille.
- Journalisé
- Contrôles d’accès étendus POSIX
Comparatif des systèmes de fichiers
Voici un comparatif des fonctionnalités de ces systèmes d’exploitation.
Notez que certaines données diffèrent selon la configuration lors du formatage notamment la taille des secteurs et clusters de disques.
Fonctionnalités | FAT32 | xFAT | NTFS | HFS+ | APFS | ext4 |
Nom fichiers Max | 8,3 caractères et 255 avec support LFN | 255 caractères | 255 caractères | 255 caractères | 255 caractères | |
Taille Max fichier | 4 Go | 2 Go | 16 To | 8 Eio | 8 Eio | 16 To |
Taille partition disque max | 16 To | 2 To (secteurs de 512 octets) 8 To (secteurs de 32 Ko et 32 Ko clusters) 16 TB (secteurs de 4 Ko et 64 Ko de clusters) |
256 To | 8 Eio | 1 Eio | |
Nombre de fichiers Max par répertoire | 65,536 pour 32 Ko de clusters | 4,294,967,295 | 8 Eio | 4 milliards | ||
Compression | Non | Non | Oui | Oui | ||
Conversion | Oui | Non | ||||
Support chiffrement | Non | Non | EFS | Oui | Oui | |
Tolérance au panne | Minimal | Oui si TFAT activé | Max | Max | ||
Système d’exploitation | Windows, Linux, MacOS | Windows, Linux, MacOS | Windows, Linux, MacOS | MacOS | Linux |
Liens
- NTFS, EXT4 : les systèmes de fichiers Windows et Linux
- Inode dans Linux : qu’est-ce que c’est et comment les afficher
- Partitionner et formater un disque sous Windows
- Formatage de disque, formatage rapide, formatage bas niveau
- Comment lister les disques et partitions sur Windows
- Partition disque sur Windows (GPT/MBR)
- Comment cloner son disque dur
- Erreur disque et système de fichiers
- Optimisation disque / NTFS
- Formater un disque, partition sous Windows
- Tutoriel DiskPart : créer, supprimer, étendre des partitions de disque
- Créer, supprimer, formater des partitions de disque en Powershell
L’article Système de fichiers : définition et fonctionnement est apparu en premier sur malekal.com.
0 Commentaires