Journaling
Da Wikipedia, l'enciclopedia libera.
Il journaling è una tecnologia utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione. È una tecnologia derivata dal mondo dei Database. Il journaling si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system come una transazione.
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 filesystem non dovrà far altro che analizzare il file di log per determinare quali sono lo operazioni che non sono state terminate e quindi sarà in grado di correggere gli errori presenti nella struttura del file system. Da notare che nel file di log vengono memorizzate solo le informazioni che riguardano la struttura del disco (metadati), quindi un'eventuale caduta di tensione elimina i dati che si stavano salvando, ma non rende inconsistente il filesystem.
I più diffusi file system dotati di journaling sono: ext3, ReiserFS, XFS, JFS, VxFS, HFS+ I primi tre sono disponibile per i sistemi operativi Unix e sono open source, JFS e VxFS non sono open source, l'ultimo è il filesystem standard del Mac OS X ed è di proprietà dell'Apple Computer.
[modifica] Lista dei filesystem journaling
- AIX:
- JFS
- VxFS (di terze parti da: Veritas Software)
- Apple Mac OS:
- HFS+ (Il journaling è stato implementato a partire da Mac OS X 10.2.2.)
- Supportati nel Kernel di Linux:
- Microsoft Windows NT e OS successivi:
- OpenVMS:
- ODS-5
- Supportati da Sun Solaris:
- UFS Logging
- VxFS (di terze parti da: Veritas Software)
- ZFS
- Supportati dai sistemi operativi BeOS e ZetaOS
- BFS (File system Journaled a 64 bit)