Concepts fondamentaux des systèmes de fichiers
100 cartesDans ce document, nous explorons les concepts fondamentaux des systèmes de fichiers, y compris leur structure, leur fonctionnement et leur gestion des données. Nous abordons les différents types de systèmes de fichiers tels que FAT, NTFS et UFS, ainsi que les techniques d'allocation de fichiers comme l'allocation contiguë, chaînée et indexée. Des exemples concrets et des calculs illustrent la manière dont ces systèmes organisent et stockent les informations sur les disques durs, en détaillant les attributs des fichiers, les structures de données comme les inodes, et les mécanismes de récupération après panne.
50 cartes
Concepts Fondamentaux et Systèmes de Fichiers
Cette section explore les concepts de base des fichiers, répertoires, disques durs, et les systèmes de gestion de fichiers (SGF), ainsi que les techniques d'allocation et les systèmes de fichiers courants comme FAT, UFS et NTFS.
Fichier
Définition : Une unité de stockage informatique contenant des données ou des informations.
Support : Stocké sur disques durs, clés USB, CD, DVD, etc.
Attributs :
Nom
Type
Taille
Protection
Date et heure de création
Ces attributs sont gérés par la structure en répertoires.
Répertoire
Définition : Entité d'organisation des fichiers, stockée sur disque et capable de contenir d'autres fichiers.
Structures de répertoires :
Structure plate à un niveau : Un répertoire ne contient que des fichiers.
Structure à deux niveaux : Chaque utilisateur a un répertoire principal pour fichiers et sous-répertoires, mais les sous-répertoires ne contiennent que des fichiers.
Structure arborescente : Nombre arbitraire de niveaux, chaque répertoire peut contenir fichiers et sous-répertoires.
Système de Gestion de Fichiers (SGF)
Rôle : Facilite la gestion efficace et sécurisée des fichiers.
Primitives : Offre des opérations comme création, lecture, écriture, suppression, déplacement, modification.
Tâches :
Interface conviviale pour la manipulation des fichiers.
Stockage des fichiers sur disque dur.
Gestion de l'espace libre.
Gestion en environnement multi-utilisateurs.
Utilitaires de diagnostic, récupération et organisation.
Disque Dur
Définition : Périphérique de stockage permanent pour grandes quantités de données.
Composition :
Plateaux magnétiques : Disques recouverts d'une couche magnétique (oxyde de fer) pour stocker les bits (0 et 1).
Axe central : Fait tourner les plateaux à la même vitesse.
Têtes de lecture/écriture : Accèdent aux faces des plateaux pour enregistrer (écrire) ou récupérer des données, via des champs magnétiques.
Système électronique intégré : Traduit les commandes et positionne les têtes.
Organisation logique :
Pistes : Divisions concentriques de la surface des plateaux.
Secteurs : Divisions des pistes.
Cylindre : Ensemble de pistes de même numéro sur tous les plateaux.
Capacité du disque :
Taille du disque = nombre de secteurs du disque
×taille d'un secteur (généralement 512 octets).Nombre de secteurs du disque = nombre de têtes
×nombre de cylindres×nombre de secteurs par cylindre.
Clusters (ou Blocs)
Définition : Groupes contigus de secteurs physiques sur le disque, unité de base pour l'allocation de l'espace disque par le SGF.
Numérotation : Blocs numérotés de 0 à N-1.
Calcul de N : ``.
Taille d'un bloc : Fixe (512, 1024, 2048, 4096 octets), varie selon le système de fichiers.
Techniques d'Allocation de Blocs
1. Allocation Contiguë
Principe : Le SGF recherche une séquence continue de blocs libres pour stocker un fichier.
Information requise : Adresse de début et nombre de blocs pour chaque fichier.
Entrée de répertoire :
Nom du fichier
Attributs
Adresse de début
Longueur
Attributs de fichier (Exemples) :
Lecture seule : Fichier non modifiable.
Caché : Non visible dans les explorateurs standards.
Système : Appartient au système d'exploitation, non modifiable par l'utilisateur.
Exécutable : Peut être lancé comme programme.
Archivage : Indique si le fichier a été modifié depuis la dernière sauvegarde.
Permissions/Droits d'accès : (e.g., Linux/Unix: r-lecture, w-écriture, x-exécution pour propriétaire, groupe, autres).
Dates : Création, dernière modification, dernier accès.
Avantages :
Lectures et écritures plus rapides grâce au stockage continu.
Inconvénients :
Fragmentation interne : Perte d'espace si le bloc alloué est plus grand que le fichier.
Fragmentation externe : Perte d'espace inutilisable due à des petites zones libres après suppression de fichiers.
2. Allocation Chaînée
Principe : Divise les fichiers en blocs non contigus.
Structure : Chaque bloc alloué contient un en-tête avec la taille du bloc et un pointeur vers le bloc suivant.
Avantages :
Pas de fragmentation externe, tous les blocs peuvent être utilisés.
Inconvénients :
Accès séquentiel : Nécessite de parcourir depuis le début.
Perte de données : Un chaînage brisé entraîne la perte de la suite du fichier.
Si une valeur est modifiée dans un pointeur, on se retrouve dans une autre zone.
3. Allocation Indexée
Principe : Gère les emplacements mémoire via un index plutôt que des adresses directes.
Structure : Les liens vers les blocs physiques d'un fichier sont stockés de manière contiguë dans une table d'index.
Spécificités :
Chaque fichier a son propre bloc d'index.
Le répertoire contient l'adresse du bloc d'index du fichier.
Exemple de calcul (UFS) :
Taille maximale d'un fichier : Si un bloc index contient 8 adresses et chaque bloc fait 1 Ko, la taille maximale est de `` (pour cet index).
Problème d'échelle : Si un fichier dépasse la capacité d'un seul bloc d'index, il faut des mécanismes d'indirection.
Structures de Données des Systèmes de Fichiers
Les systèmes de fichiers utilisent des structures spécifiques pour gérer les fichiers et répertoires : FAT, UFS, NTFS sont les plus connus.
FAT (File Allocation Table)
Système : Typique de MS-DOS.
Structure : Utilise une table d'allocation des fichiers (FAT).
Fonctionnement :
Chaque entrée de la FAT contient un numéro de cluster.
La FAT indique l'occupation des clusters (occupés, libres, endommagés).
Une seule entrée pour chaque fichier.
Repose sur l'allocation chaînée des blocs.
Répertoire racine : Emplacement fixe sur disque, contient noms de fichiers/sous-répertoires, attributs, dates, heures, tailles, et numéros des clusters de départ.
UFS (Unix File System)
Système : Système de fichiers Unix.
Structures de données principales :
Superbloc :
Taille du système de fichiers (nombre total de blocs).
Nombre de blocs libres.
Pointeur sur le premier bloc libre.
Taille et nombre d'inodes libres.
Table des inodes :
Un inode est une structure de données décrivant un fichier.
Chaque fichier a un numéro d'inode unique qui pointe vers un enregistrement dans la table.
Chaque inode contient : taille, propriétaire, groupe, droits d'accès, dates (création/modification/accès), nombre de liens, adresses des blocs de données.
P
ointeurs vers les blocs de données (inode) :
Pointeurs directs : Adresses des blocs de données réels.
Pointeurs indirects : Utilisés pour les grands fichiers, l'inode pointe vers des blocs d'indirection qui eux-mêmes contiennent des pointeurs vers des blocs de données.
Indirection simple : Pointe vers un bloc contenant des adresses de blocs de données.
Indirection double : Pointe vers un bloc contenant des pointeurs vers d'autres blocs d'indirection.
Indirection triple : Pointe vers un bloc d'indirection double.
Exemple UFS (Calcul des blocs pour un fichier de 1,2 Mo, bloc de 4 Ko) :
Nombre de blocs nécessaires : 308 blocs.
Adresses par pointeurs :
12 pointeurs directs : Peuvent adresser 12 blocs.
Pointeur indirect simple : Peut adresser `` blocs.
Pointeur indirect double : Peut adresser `` blocs.
Allocation pour 308 blocs :
12 blocs par pointeurs directs.
296 blocs par le pointeur indirect simple (``).
0 bloc par le pointeur indirect double.
NTFS (New Technology File System)
Système : Développé par Microsoft, utilisé par défaut dans Windows (NT, 2000, XP, 7, 10, 11).
Capacités :
Grande gestion de volumes et de fichiers (jusqu'à 17 To par fichier, plus de 4 milliards de fichiers).
Allocation des fichiers non contiguë.
Utilisation de structures de données avancées.
Très haute fiabilité.
Récupération rapide après panne (système journalisé).
Principaux fichiers de structure :
MFT (Master File Table) :
Fichier central des descripteurs de fichiers.
Chaque fichier/répertoire a un enregistrement MFT avec ses métadonnées (attributs, permissions, pointeurs de données).
Copie de sécurité de la MFT.
Les petits fichiers et leurs attributs peuvent être stockés directement dans leur descripteur MFT (résident).
Les gros fichiers ont des pointeurs vers d'autres structures de données.
Fichier du volume : Informations globales sur le volume (nom, métadonnées).
Fichier Bitmap : Décrit l'état d'allocation des blocs (libres/occupés).
Répertoire racine du volume.
Fichier journal ($LogFile) : Enregistre les modifications des métadonnées pour assurer la fiabilité et restaurer l'intégrité en cas de défaillance.
Attributs NTFS :
Nom du fichier
Sécurité (ACL - Listes de Contrôle d'Accès, droits par utilisateur/groupe : lecture, écriture, exécution, suppression).
Données du fichier.
Informations temporelles.
Fonctionnalités avancées :
Compression des fichiers.
Chiffrement (EFS).
Quotas de disque par utilisateur.
Liens symboliques et liens matériels.
Inconvénients :
Plus complexe que FAT.
Moins compatible avec les anciens systèmes.
Légèrement plus gourmand en ressources.
Lancer un quiz
Teste tes connaissances avec des questions interactives