Systèmes d'exploitation · L3 · Section 3/6
Systèmes de fichiers
Progression
Points d’expérience : —XPSérie de jours consécutifs : —· —Progression du module : — / —compris
#Systèmes de fichiers
#Inodes et répertoires
- Inode: métadonnées (taille, blocs, uid/gid, modes) et pointeurs de blocs (directs/indirects). Le nom n’y figure pas.
- Répertoire: table (nom → inode). Un lien dur référence le même inode (compteur de liens); un lien symbolique référence un chemin.
#Écriture et cache de page
- Le noyau met en cache pages/buffers;
write()marque « dirty » et retourne vite. fsync()force la persistance (journal puis données) selon le FS et le mode; essentiel pour garantir la durabilité applicative.
#Animation: write‑back et journal
write()
Copie en page cache; pages « dirty »; retour rapide
Journal
Intentions (métadonnées): writeback/ordered/journal
Flush
Daemon écrit sur disque; fsync force la synchro
Crash
Relecture du journal au montage: cohérence
#Diagramme: write → journal → flush → crash/rejouer
Processus
Page cache
Journal
Disque
#Journaling vs Copy‑on‑Write
- Journaling (ext4, XFS): journal des intentions pour restaurer la cohérence rapidement après crash.
- Copy‑on‑Write (btrfs, ZFS): écrit ailleurs puis bascule un pointeur; snapshots/checksums efficaces.
#Intégrité et perfs
- Barrières/flush: forcer l’ordre (
barrier, FUA) pour éviter le ré‑ordonnancement destructeur. - Alignement bloc/IO; accès séquentiels et coalescence améliorent le débit; réduire la fragmentation.
#Quiz
Quel modèle permet des snapshots peu coûteux au niveau FS ?