Journaling
El journaling es un mecanismo por el cual un sistema
informático puede implementar transacciones. También se le conoce como
«registro por diario».
Se basa en llevar un journal o registro de diario en el
que se almacena la información necesaria para restablecer los datos afectados
por la transacción en caso de que ésta falle.
El procedimiento es básicamente el siguiente:
1.Se bloquean las estructuras de datos afectadas por la
transacción para que ningún otro proceso pueda modificarlas mientras dura la
transacción.
2.Se reserva un recurso para almacenar el journal. Por lo
general suelen ser unos bloques de disco, de modo que si el sistema se para de
forma abrupta (corte eléctrico, avería, fallo del sistema operativo...) el
journal siga disponible una vez reiniciado el sistema.
3.Se efectúan una a una las modificaciones en la
estructura de datos. Para cada una:
4.Se apunta en el journal como deshacer la modificación y
se asegura de que esta información se escribe físicamente en el disco.
5.Se realiza la modificación.
6.Si en cualquier momento se quiere cancelar la
transacción se deshacen los cambios uno a uno leyéndolos y borrándolos del
journal.
7.Si todo ha ido bien, se borra el journal y se
desbloquean las estructuras de datos afectadas.
Las aplicaciones más frecuentes de los sistemas de
journaling se usan para implementar transacciones de sistemas de bases de datos
y, más recientemente, para evitar la corrupción de las estructuras de datos en
las que se basan los sistemas de archivos modernos.
En el caso concreto de los sistemas de archivos, el
journaling se suele limitar a las operaciones que afectan a las estructuras que
mantienen información sobre:
Estructuras de directorio.
Bloques libres de disco.
Descriptores de archivo (tamaño, fecha de modificación...)
El hecho de que no se suela implementar el journaling de
los datos concretos de un archivo suele carecer de importancia, puesto que lo
que persigue el journaling de sistemas de archivos es evitar los engorrosos y
largos chequeos de disco que efectúan los sistemas al apagarse bruscamente, ya
que el sistema al arrancar solo deberá deshacer el journal para tener un
sistema coherente de nuevo.
Sistemas de archivos con journaling
Ext3 de Linux
Ext4 de Linux
NTFS de Windows NT
ReiserFS de Linux
Reiser4 de Linux
UFS de SUN Solaris
XFS de IRIX y Linux
JFS de Linux, OS/2 y AIX
HFS+ de Mac OS X
VMFS-3 de VMware
Smart File System de AmigaOS
Ext4 de Linux
NTFS de Windows NT
ReiserFS de Linux
Reiser4 de Linux
UFS de SUN Solaris
XFS de IRIX y Linux
JFS de Linux, OS/2 y AIX
HFS+ de Mac OS X
VMFS-3 de VMware
Smart File System de AmigaOS
No hay comentarios:
Publicar un comentario