Journaling

Da Wikipedia, l'enciclopedia libera.

In informatica il journaling è una tecnica 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 infatti sul concetto di transazione: ogni scrittura su disco è interpretata dal file system come una transazione.

Descrizione[modifica | modifica sorgente]

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+

Lista dei filesystem con journaling[modifica | modifica sorgente]

  • Apple Mac OS:
    • HFS+ (Il journaling è stato implementato a partire da Mac OS X 10.2.2.)
  • HP-UX:
    • VxFS (Conosciuto nei sistemi HP come "JFS", ma differisce dal JFS di IBM)
  • Supportati dai sistemi operativi BeOS e ZetaOS
    • BFS (File system Journaled a 64 bit)