Journaling file system

El journaling és un mecanisme pel qual un sistema informàtic pot implementar transaccions. També se'l coneix com a "registre diari".

Es basa a portar un journal o registre de diari en què s'emmagatzema la informació necessària per restablir les dades afectades per la transacció en cas que aquesta falli.[1]

El procediment és bàsicament el següent:

  1. Es bloquegen les estructures de dades afectades per la transacció perquè cap altre procés pugui modificar mentre dura la transacció.
  2. Es reserva un recurs per emmagatzemar el journal. En general solen ser uns blocs de disc, de manera que si el sistema s'atura de forma abrupta (tall elèctric, avaria, fallada del sistema operatiu...) el journal segueixi la després reiniciat el sistema.
  3. S'efectuen una a una les modificacions en l'estructura de dades. Per a cadascuna:
    1. S'apunta al journal com desfer la modificació i s'assegura que aquesta informació s'escriu físicament en el disc.
    2. Es realitza la modificació.
  4. Si en qualsevol moment es vol cancel·lar la transacció es desfan els canvis 1 a 1 llegint-los i esborrant-los del journal.
  5. Si tot ha anat bé, s'esborra el journal i es desbloquegen les estructures de dades afectades.

Les aplicacions més freqüents dels sistemes d' journaling s'usen per implementar transaccions de sistemes de bases de dades i, més recentment, per evitar la corrupció de les estructures de dades en què es basen els sistemes de fitxers moderns.

En el cas concret dels sistemes de fitxers, el journaling se sol limitar a les operacions que afecten les estructures que mantenen informació sobre:

  • Estructures de directori.
  • Blocs lliures de disc.
  • Descriptors d'arxiu (mida, data de modificació ...)

El fet que no se solga implementar el journaling de les dades concretes d'un arxiu sol no tenir importància, ja que el que persegueix el journaling de sistemes de fitxers és evitar els enutjosos i llargs revisions de disc que efectuen els sistemes en apagar bruscament, ja que en carregar només haurà desfer el journal per tenir un sistema coherent de nou.

Sistemes de fitxers amb journaling

[modifica]

Referències

[modifica]
  1. Jones, M Tim. «Anatomy of Linux journaling file systems». IBM DeveloperWorks, 04-06-2008. [Consulta: 13 abril 2009].