ScholarGate
Assistant

Systèmes de fichiers

Un système de fichiers est le composant du système d'exploitation qui organise les données persistantes en fichiers et répertoires nommés sur les périphériques de stockage, gérant la manière dont les données sont agencées, localisées, protégées et maintenues cohérentes.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Un système de fichiers est la méthode et les structures de données qu'un système d'exploitation utilise pour stocker, organiser, nommer, récupérer et protéger les données persistantes sur un périphérique de stockage, présentant des fichiers et des répertoires aux applications tout en gérant l'agencement et la cohérence sur le périphérique.

Scope

Ce sujet couvre l'abstraction et l'interface des fichiers, les structures de répertoires, les méthodes d'allocation (contiguë, chaînée, indexée) et la gestion de l'espace libre, les structures de métadonnées telles que les inodes, la journalisation et la cohérence après panne, ainsi que le cache de tampons. Il traite de la manière dont le système d'exploitation transforme le stockage brut en un espace de noms fiable et nommé. Il exclut les périphériques de stockage physiques eux-mêmes (périphériques de stockage secondaire) et la gestion de la mémoire principale du système d'exploitation (gestion de la mémoire).

Core questions

  • Comment les fichiers sont-ils nommés, organisés en répertoires et accédés ?
  • Comment les données d'un fichier sont-elles allouées et localisées sur le périphérique de stockage ?
  • Quelles métadonnées le système de fichiers conserve-t-il, et comment l'espace libre est-il géré ?
  • Comment le système de fichiers maintient-il sa cohérence après des pannes ?

Key concepts

  • abstraction et interface des fichiers
  • répertoires et espaces de noms
  • inodes et métadonnées
  • méthodes d'allocation (contiguë, chaînée, indexée)
  • gestion de l'espace libre
  • journalisation et cohérence après panne
  • cache de tampons
  • contrôle d'accès et permissions

Key theories

Cohérence après panne
Étant donné qu'une panne peut interrompre des mises à jour en plusieurs étapes, les systèmes de fichiers utilisent des techniques telles que la journalisation (enregistrement des modifications prévues avant de les appliquer) ou la copie sur écriture (copy-on-write) pour garantir qu'après une défaillance, le système de fichiers puisse être restauré à un état cohérent.

Mechanisms

Un système de fichiers mappe le flux d'octets logique de chaque fichier sur des blocs du périphérique, enregistrant le mappage et les attributs dans des structures de métadonnées telles que les inodes et les répertoires. Les méthodes d'allocation déterminent comment les blocs sont attribués et suivis, et les structures d'espace libre enregistrent les blocs disponibles. Un cache de tampons (buffer cache) conserve les blocs récemment utilisés en mémoire, et la journalisation ou la copie sur écriture (copy-on-write) garantit que les mises à jour interrompues laissent le système de fichiers dans un état récupérable et cohérent.

Clinical relevance

Les systèmes de fichiers sont le moyen par lequel presque toutes les données persistantes sont stockées et récupérées ; leur performance et leur fiabilité sont donc essentielles pour les bases de données, les applications et les utilisateurs. Les choix de conception concernant les métadonnées, la mise en cache et la cohérence après panne déterminent la durabilité et la récupération après des défaillances. Des systèmes de fichiers largement utilisés tels que ext4, NTFS et ZFS illustrent des décennies de ces compromis.

History

Les systèmes de fichiers hiérarchiques avec répertoires et le modèle d'inode ont été établis par UNIX vers 1970. Le Berkeley Fast File System a amélioré l'agencement et les performances, et la journalisation ainsi que les conceptions structurées en journal (log-structured) dans les années 1990 ont abordé la cohérence après panne et les performances d'écriture. Les systèmes de fichiers à copie sur écriture (copy-on-write) tels que ZFS et Btrfs ont ensuite intégré des sommes de contrôle (checksums) et des instantanés (snapshots) pour une intégrité renforcée.

Debates

Journalisation versus copie sur écriture pour la cohérence
La journalisation enregistre les modifications prévues avant de les appliquer, tandis que la copie sur écriture (copy-on-write) écrit les nouvelles données à de nouveaux emplacements et commute atomiquement les pointeurs ; chacune offre une cohérence après panne avec des compromis différents en termes de performances, d'espace et d'intégrité, et les deux sont utilisées dans les systèmes modernes.

Key figures

  • Ken Thompson
  • Dennis Ritchie
  • Marshall Kirk McKusick
  • Abraham Silberschatz

Related topics

Seminal works

  • silberschatz2018
  • tanenbaum2014os

Frequently asked questions

Qu'est-ce qu'un inode ?
Un inode est une structure de métadonnées qui décrit un fichier : sa taille, sa propriété et ses permissions, ses horodatages, et les pointeurs vers les blocs de stockage contenant ses données. Les répertoires mappent les noms lisibles par l'homme aux inodes, séparant le nom d'un fichier de sa représentation sur le périphérique.
Comment la journalisation protège-t-elle contre les pannes ?
Avant de modifier les structures du système de fichiers, un système de fichiers journalisé enregistre les modifications prévues dans un journal. Si une panne interrompt la mise à jour, au redémarrage, le système rejoue ou annule les modifications enregistrées, restaurant un état cohérent plutôt que de laisser le système de fichiers corrompu.

Methods for this concept

Related concepts