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