prof. Nunzio Brugaletta |
atapSO |
EnneBi –
Computer Science
Avanti – Indietro – Inizio
Come trattato in precedenza per motivi di ottimizzazione delle prestazioni i dati non sono scritti in continuazione, ma vengono conservati in una memoria cache (il buffer) e, di tanto in tanto, avviene una operazione di sincronizzazione con quanto conservato su disco. In conseguenza a interruzione di energia elettrica o a crash di sistema può non essere garantita la sincronizzazione fra i dati che si erano conservati e il contenuto effettivo del file o può risultare danneggiato il file system.
Le distribuzioni Linux in genere si accorgono di una inconsistenza del file system e sono in grado di lanciare, in automatico al prossimo avvio del sistema, programmi per il ripristino del file system danneggiato. Il problema principale è però che, all'aumentare delle dimensioni degli hard disk, le operazioni di ripristino sono sempre più gravose e richiedono tempi sempre più lunghi durante i quali, fra l'altro, la macchina non può essere utilizzata.
Per risolvere questo tipo di problema sono nati i file system di tipo journaled, uno dei quali è appunto ext3. Si tratta, in definitiva di ext2 con l'aggiunta del journaled: il kernel scrive in un apposita area del disco, chiamata journal, le modifiche effettuate. In caso di chiusure improprie del sistema, basta controllare il journal per essere in grado di riparare le incongruenze, senza andare ad effettuare il controllo di tutte le directory e i file ed, inoltre, diminuiscono i rischi di perdite di dati.
Ext4, ulteriore evoluzione, nasce per superare i limiti di dimensione dei file conservabili utilizzando ext3 e per migliorarne alcune prestazioni. Quando si richiede spazio per l'allocazione di un file ext4 effettua una allocazione multi-blocco a differenza di ext3 che alloca un blocco di 64KB per volta.
http://ennebi.solira.org |
ennebi@solira.org |