Aller au contenu principal

Chapitre 2.4 - Système de Fichiers Virtuel (VFS)

Objectifs d'Apprentissage​

À la fin de ce chapitre, vous serez capable de:

  • Comprendre le rôle du VFS
  • Expliquer comment VFS unifie différents systèmes de fichiers
  • Comprendre les inodes et les structures de données
  • Identifier les différents types de systèmes de fichiers

Qu'est-ce que le VFS?​

Le VFS (Virtual File System) est une couche d'abstraction dans le Kernel Linux qui fournit une interface unifiée pour accéder à différents types de systèmes de fichiers, qu'ils soient locaux (ext4, xfs) ou réseau (NFS, CIFS).


Rôles du VFS​

1. Interface Unifiée​

Le VFS fournit une interface unique pour:

  • Ouvrir, lire, écrire, fermer des fichiers
  • Créer, supprimer, renommer des fichiers
  • Gérer les répertoires
  • Gérer les permissions

2. Abstraction​

Les applications n'ont pas besoin de connaître:

  • Le type de système de fichiers
  • L'emplacement (local ou réseau)
  • Les détails d'implémentation

3. Performance​

Le VFS maintient des caches:

  • Inode cache: Métadonnées des fichiers
  • Dentry cache: Noms de fichiers et chemins
  • Buffer cache: Données des fichiers

Inodes​

Un inode (index node) est une structure de données qui stocke les métadonnées d'un fichier:

Informations stockées:

  • Type de fichier (fichier, répertoire, lien, etc.)
  • Permissions (propriétaire, groupe, autres)
  • Taille du fichier
  • Timestamps (création, modification, accès)
  • Pointeurs vers les blocs de données
  • Nombre de liens

Types de Systèmes de Fichiers​

Systèmes de Fichiers Locaux​

ext4 (Fourth Extended File System):

  • Standard sur la plupart des distributions
  • Journalisé (résistant aux pannes)
  • Support des fichiers jusqu'à 16TB

xfs:

  • Performant pour les gros fichiers
  • Utilisé en entreprise
  • Bon pour les bases de données

btrfs:

  • Fonctionnalités avancées (snapshots, compression)
  • Copy-on-write
  • En développement actif

Systèmes de Fichiers Réseau​

NFS (Network File System):

  • Partage de fichiers sur réseau
  • Standard Unix/Linux

CIFS/SMB:

  • Compatible Windows
  • Partage de fichiers inter-plateformes

Systèmes de Fichiers Spéciaux​

tmpfs:

  • En mémoire (RAM)
  • Rapide mais temporaire
  • /tmp, /dev/shm

procfs:

  • Interface vers le kernel
  • /proc

sysfs:

  • Informations système
  • /sys

Structure des Répertoires​

Le VFS maintient une hiérarchie unifiée:

/
├── bin/ # Binaires essentiels
├── etc/ # Configuration
├── home/ # Utilisateurs
├── proc/ # Interface kernel (procfs)
├── sys/ # Interface système (sysfs)
├── tmp/ # Temporaire (tmpfs)
├── var/ # Données variables
└── ...

Commandes Utiles​

# Voir les systèmes de fichiers montés
mount
df -h

# Voir les inodes
ls -li
stat fichier

# Voir l'utilisation des inodes
df -i

# Voir les types de systèmes de fichiers
mount | grep -E '^/dev'

Résumé​

Dans ce chapitre, vous avez appris:

VFS: Interface unifiée pour tous les systèmes de fichiers
Inodes: Métadonnées des fichiers
Caches: Inode, Dentry, Buffer pour performance
Types FS: Locaux (ext4, xfs), réseau (NFS), spéciaux (tmpfs, procfs)
Hiérarchie: Structure unifiée avec / comme racine


Prochaines Étapes​

Chapitre 2.5: Gestion des Processus
Chapitre 2.6: Processus Init et systemd


Chapitre créé le: Décembre 2024