Concepts fondamentaux des systèmes de fichiers

100 cartes

Dans 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

Réviser
Question
Pour quel système d'exploitation NTFS a-t-il été développé?
Réponse
Pour les systèmes d'exploitation Windows de Microsoft (NT, 2000, XP, 7, 10, 11).
Question
Quelle est la limite de la structure de répertoire plate à un niveau?
Réponse
Elle contient plusieurs répertoires, mais chacun ne peut contenir que des fichiers, pas d'autres sous-répertoires.
Question
Comment fonctionne la structure de répertoire arborescente?
Réponse
Elle a un nombre arbitraire de niveaux, où chaque répertoire peut contenir des fichiers et des sous-répertoires.
Question
Qu'est-ce qu'un fichier en informatique?
Réponse
Une unité de stockage contenant des données, décrite par des attributs comme son nom, sa taille et sa date de création.
Question
Citez trois attributs possibles d'un fichier.
Réponse
Le nom, le type, la taille, la protection, la date et l'heure de création.
Question
Qu'est-ce qu'un répertoire?
Réponse
Une entité, elle-même un fichier, utilisée pour organiser d'autres fichiers et répertoires sur un support de stockage.
Question
Qu'est-ce qu'une indirection double dans UFS?
Réponse
Un pointeur qui vise un bloc, qui contient des pointeurs vers d'autres blocs d'indirection.
Question
Quel est le rôle d'un SGF (Système de Gestion de Fichiers)?
Réponse
Faciliter la gestion efficace et sécurisée des fichiers en offrant des primitives pour les manipuler (créer, lire, etc.).
Question
Quelles sont les composantes physiques principales d'un disque dur?
Réponse
Des plateaux magnétiques, un axe central, des têtes de lecture/écriture et un système électronique.
Question
Comment les données sont-elles stockées sur les plateaux d'un disque dur?
Réponse
Sous forme de suites de bits binaires (0 et 1) sur une couche de matériau magnétisable.
Question
Définissez une piste sur un disque dur.
Réponse
Une des divisions circulaires et concentriques sur la surface de chaque plateau, où les données sont enregistrées.
Question
Qu'est-ce qu'un cylindre sur un disque dur?
Réponse
L'ensemble de toutes les pistes situées à la même position sur les différents plateaux.
Question
Comment calcule-t-on la capacité d'un disque dur?
Réponse
En multipliant le nombre total de secteurs par la taille d'un secteur (généralement 512 octets).
Question
Quelle est la formule pour le nombre total de secteurs d'un disque?
Réponse
Nombre de têtes × nombre de cylindres × nombre de secteurs par cylindre.
Question
Qu'est-ce qu'un cluster (ou bloc) pour un SGF?
Réponse
L'unité de base pour l'allocation d'espace disque, représentant un groupe de secteurs contigus.
Question
Citez les trois techniques d'allocation de blocs sur un disque.
Réponse
L'allocation contiguë, l'allocation chaînée et l'allocation indexée.
Question
Comment fonctionne l'allocation contiguë?
Réponse
Le système alloue une séquence continue de blocs libres sur le disque pour chaque fichier.
Question
Quel est le principal avantage de l'allocation contiguë?
Réponse
Les lectures et écritures sont plus rapides car les données sont stockées de manière continue, facilitant l'accès séquentiel.
Question
Qu'est-ce que la fragmentation externe?
Réponse
La perte d'espace disque due à la formation de petites zones libres non contiguës après la suppression de fichiers.
Question
Qu'est-ce que la fragmentation interne?
Réponse
L'espace inutilisé à l'intérieur d'un bloc alloué si la taille du fichier est inférieure à la taille du bloc.
Question
Comment fonctionne l'allocation chaînée?
Réponse
Les fichiers sont divisés en blocs stockés de manière non contiguë et reliés par des pointeurs dans chaque bloc.
Question
Quel est le principal inconvénient de l'allocation chaînée?
Réponse
L'accès est purement séquentiel et la perte d'un pointeur entraîne la perte du reste du fichier.
Question
Comment fonctionne l'allocation indexée?
Réponse
Les pointeurs vers les blocs de données d'un fichier sont rassemblés dans une table appelée bloc d'index.
Question
Quel est l'avantage de l'allocation indexée sur l'allocation chaînée?
Réponse
Elle permet un accès direct (non séquentiel) aux blocs de données d'un fichier.
Question
Quel problème survient si un fichier dépasse la capacité du bloc d'index initial?
Réponse
Il est impossible de lui ajouter de nouveaux blocs; il a atteint sa taille maximale sans utiliser d'indirection.
Question
Citez trois systèmes de fichiers connus.
Réponse
FAT (File Allocation Table), UFS (Unix File System), et NTFS (New Technology File System).
Question
Quel type d'allocation utilise le système de fichiers FAT?
Réponse
L'allocation chaînée, où une table (la FAT) contient les liens entre les clusters de chaque fichier.
Question
Que contient une entrée de répertoire racine dans un système FAT?
Réponse
Le nom, les attributs, la taille, et le numéro du premier cluster du fichier ou sous-répertoire.
Question
Quelles sont les deux structures de données principales du système UFS?
Réponse
Le superbloc et la table des inodes.
Question
Qu'est-ce qu'un inode dans le système UFS?
Réponse
Une structure de données contenant les métadonnées d'un fichier, comme sa taille, ses droits et les adresses de ses blocs.
Question
Que contient le superbloc dans UFS?
Réponse
Des informations globales sur le système de fichiers : taille totale, nombre de blocs libres et taille de la table des inodes.
Question
Qu'est-ce qu'un pointeur direct dans un inode UFS?
Réponse
Une adresse qui pointe directement vers un bloc contenant les données du fichier.
Question
À quoi sert un pointeur à indirection simple dans UFS?
Réponse
Il pointe vers un bloc intermédiaire qui, lui, contient une liste d'adresses de blocs de données.
Question
Quel est le fichier central du système de fichiers NTFS?
Réponse
La MFT (Master File Table), qui contient les descripteurs (métadonnées) de chaque fichier et répertoire.
Question
Comment NTFS gère-t-il les très petits fichiers?
Réponse
Leurs données et attributs peuvent être stockés directement dans leur enregistrement au sein de la MFT.
Question
Qu'est-ce que le fichier journal ($LogFile) dans NTFS?
Réponse
Il enregistre les transactions sur les métadonnées pour garantir la fiabilité et permettre une récupération rapide après une défaillance.
Question
Que sont les ACL (Access Control Lists) dans NTFS?
Réponse
Des listes de contrôle d'accès qui définissent les permissions (lecture, écriture, etc.) pour chaque utilisateur ou groupe.
Question
Citez un avantage et un inconvénient de NTFS par rapport à FAT.
Réponse
Avantage : fiabilité et sécurité accrues. Inconvénient : plus complexe et moins compatible avec de très anciens systèmes.
Question
Quel fichier de métadonnées NTFS décrit l'état (libre/occupé) des blocs du volume?
Réponse
Le fichier $Bitmap, qui maintient une carte de l'allocation des clusters.
Question
Quel est l'attribut de fichier 'Lecture seule'?
Réponse
Un attribut qui empêche la modification ou la suppression du fichier, n'autorisant que sa lecture.
Question
Que signifie pour un fichier d'avoir l'attribut 'Caché'?
Réponse
Le fichier n'apparaît pas dans les listages de répertoires standards, mais reste accessible si son nom est connu.
Question
Sous Unix, que signifient les permissions r, w, x?
Réponse
Respectivement : r (lecture), w (écriture), et x (exécution).
Question
Dans UFS, si un bloc fait 4 Ko et une adresse 4 octets, combien de pointeurs un bloc d'indirection simple contient-il?
Réponse
1024 pointeurs (4096 octets / 4 octets par pointeur).
Question
Dans UFS, un inode possède 12 pointeurs directs. Combien de blocs de données cela permet-il d'adresser?
Réponse
Il permet d'adresser directement 12 blocs de données.
Question
Quelle est la capacité maximale (en blocs) adressable par un pointeur à indirection double si chaque bloc contient 1024 adresses?
Réponse
1 048 576 blocs (1024 × 1024).
Question
Dans NTFS, où sont stockées les informations sur le nom du volume?
Réponse
Dans le fichier du volume, un des principaux fichiers de métadonnées du système.
Question
Quel système de fichiers est journalisé: FAT32 ou NTFS?
Réponse
NTFS est un système de fichiers journalisé, ce qui améliore sa fiabilité en cas de panne.
Question
Citez deux fonctionnalités avancées de NTFS non présentes dans FAT.
Réponse
Le chiffrement des fichiers (EFS), les quotas de disque par utilisateur, et la journalisation.
Question
Quelle structure de répertoire est utilisée dans les anciens systèmes MS-DOS?
Réponse
Une structure basée sur FAT (File Allocation Table), souvent avec une limite sur la profondeur des répertoires.
Question
Dans NTFS, qu'est-ce qu'un descripteur de sécurité?
Réponse
Un attribut qui définit qui peut accéder au fichier et quelles actions (lire, écrire...) sont autorisées, via les ACL.

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.

    1. Indirection simple : Pointe vers un bloc contenant des adresses de blocs de données.

    2. Indirection double : Pointe vers un bloc contenant des pointeurs vers d'autres blocs d'indirection.

    3. 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