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.
Paso por paso, para modificar un sistema de archivos con journaling:
- se bloquean las estructuras de datos, se escribe la modificación en el journal (y se comprueba esta escritura)
- se escribe la modificación
- se borra el journal
Si
por casualidades del destino se nos va la luz es probable que, al
apagarse la máquina antes de terminar las transacciones, tengamos un
sistema de archivos incoherente (entradas en el índice que no apuntan a
ningún archivo, etc).
Era así en sistemas de archivos como FAT32 o ext2.
Un
sistema de archivos con journaling sólo tiene que volver atrás para
volver a tener un sistema de archivos coherente (en otras palabras,
tiene que leer este journal y deshacer los cambios).
Organización
- Único nivel (espacio plano)
- Dos niveles
- En árbol
- Grafo acíclico (enlaces)
- Grafo general (enlaces sin restricciones)
Directorios de nivel único

Estructura de directorio más sencilla: todos los archivos se guardan en el mismo directorio
Problemas:
- Conflictos de nombres (al aumentar el numero de ficheros)
- Mala organización en sistemas multiusuario
- El tiempo de búsqueda tiende a aumentar
Directorio de dos niveles
Desventaja principal de la estructura de nivel único confusión de nombres entre diferentes usuarios
Solución natural un directorio por usuario

- Se resuelve el problema de conflictos de nombres (entre diferentes usuarios)
- Problema: compartir información (algunos sistemas impiden el acceso a los directorios de otros usuarios)
- Aparece el concepto de ruta (path)
- Archivos de sistema usuario especial
Directorio con estructura de árbol

De dos niveles, árbol de dos niveles
Generalización, árbol de altura arbitraria (subdirectorios)
- Se reducen al mínimo los conflictos de nombres
- Directorio -> archivo que se trata de manera especial
- Los nombres de los archivos son rutas sobre el árbol de directorios: rutas absolutas o relativas
- Aparece el concepto de “directorio de trabajo”
- Política a seguir para la eliminación de directorios
- “Caminos de búsqueda ” (facilita el hecho de que varios usuarios quieran compartir ficheros)
Directorio en grafo acíclico
La estructura de árbol dificulta compartir archivos o directorios
Se
puede generalizar el esquema de directorio con estructura de árbol
permitiendo a los directorios tener subdirectorios y archivos
compartidos, sin ciclos

¿Cómo se puede implementar?
- Duplicar la información (complica la consistencia)
- Nueva entrada de directorio: ENLACE o LINK (es un puntero a otro archivo o directorio)
Estructura de directorios de grafo acíclico es más flexible que un árbol sencillo pero más compleja
- Un mismo archivo podría tener diferentes nombres de camino absoluto -> Copias de seguridad dobles???
- Eliminación ¿ Cuándo puede liberarse o reutilizarse el espacio asignado a un archivo compartido ?
No hay comentarios:
Publicar un comentario