In informatica il journaling è una tecnica utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione. Derivata dal mondo dei database, il journaling si basa infatti sul concetto di transazione dove ogni scrittura su disco è interpretata dal file system come tale.
Descrizione
[modifica | modifica wikitesto]Quando un applicativo invia dei dati al file system per memorizzarli su disco, questo prima memorizza le operazioni che intende fare su un file di log e in seguito provvede a effettuare le scritture sul disco rigido, quindi registra sul file di log le operazioni che sono state effettuate.
In caso di caduta di tensione durante la scrittura del disco rigido, al riavvio del sistema operativo il file system non dovrà far altro che analizzare il file di log per determinare quali sono le operazioni che non sono state terminate e quindi sarà in grado di correggere gli errori presenti nella struttura del file system. Poiché nel file di log vengono memorizzate solo le informazioni che riguardano la struttura del disco (metadati), un'eventuale caduta di tensione elimina i dati che si stavano salvando, ma non rende incoerente il file system.
I più diffusi file system dotati di journaling sono: NTFS, ext3, ext4, ReiserFS, XFS, Journaled File System (JFS), VxFS, HFS+, ZFS.
Lista dei filesystem con journaling
[modifica | modifica wikitesto]- AIX:
- JFS
- VxFS (di terze parti da: Veritas Software)
- Supportati da Linux:
- Microsoft Windows NT e OS successivi:
- Novell NetWare 5.0 e versioni successive:
- Supportati da Sun Microsystems Solaris:
- UFS Logging
- VxFS (di terze parti da: Veritas Software)
- ZFS