Log-structured File System
# Log-structured File System

Il Log-structured File System (LFS) è un file system alternativo proposto da Mendel Rosenblum e John Ousterhout, originariamente implementato per il sistema operativo Sprite presso l'Università della California (Berkeley). Una diversa versione di LFS, BSD-LFS, è stata scritta da Margo Seltzer per 4.4BSD.

LFS presenta un nuovo design rispetto ai più tradizionali file system. La differenza più importante è che mentre i file system classici scrivono i file su disco cercando i blocchi tra quelli al momento disponibili, LFS scrive sempre negli stessi blocchi, tutti nello stesso posto (cioè tutti i blocchi da scrivere in un dato momento sono scritti in posizioni adiacenti, indipendentemente dal file di cui fanno parte), in modo che lo stesso blocco di un file, scritto in momenti diversi, esisterà sul disco in posizioni diverse. Ciò permette la creazione sicura ed asincrona del file (il vecchio indice rimane tra i dati della directory che lo contiene anche in caso di crash), una più veloce scrittura su disco (tutti i blocchi sono scritti insieme, senza necessità di trovare un posto libero), e un recupero istantaneo in caso di arresto del sistema (il filesystem ricomincia dall'ultimo punto di controllo e prosegue, invece di dover essere controllato nella sua totalità per verificarne la consistenza).

