JFFS2

JFFS2
Desarrollador David Woodhouse
Nombre completo Journalling Flash File System version 2
Sistemas operativos compatibles Linux
Introducción (Linux 2.4.10)
Características
Compresión transparente zlib, rubin y rtime

JFFS2 es un sistema de ficheros con soporte para transacciones especializado en memorias Flash, nace como sucesor de JFFS y será sucedido por JFFS3.

Características

Modificaciones respecto a JFFS

En el diseño de JFFS2 se han modificado varias cuestiones:

  • Sigue habiendo nodos pero se dividen en dos tipos: inodos - una cabecera con metadatos, seguida por una carga de datos (si hay) donde la carga comprimida está limitada a una página. Por otro lado, están los nodos "dirent" - entradas de directorio donde cada una guarda un nombre y un número de inodod. Los enlaces duros se representan como nombre diferentes con el mismo número de inodo. El número de inodo 0 representa un no-enlace.
  • No hay un registro circular. En cambio, JFFS2 se maneja en bloques, una unidad del mismo tamaño que el segmento borrado de un medio flash. Los bloques son rellenados de una vez, con nodos de abajo arriba. Un bloque limpio es aquel que contiene sólo nodos válidos. Un bloque sucio contiene al menos un nodo obsoleto (igual significado que en JFFS1). Un bloque libre no contiene nodos.
  • El recolector de basura trabaja de fondo, convirtiendo bloques sucios en bloques libres. El mecanismo que sigue es copiar los nodos válidos a la cabeza del registro y se salta los obsoletos. Una vez hecho esto, borra el bloque y etiqueta con un marcador especial (para evitar problemas si la energía se pierde en mitad de una operación de borrado). Para hacer más abstracto y prevenir borrados de ser demasiado concentrado en sistemas de ficheros estáticos, el recolector de basura consumirá de manera ocasional bloques limpios.

Desventajas

Futuro

Véase también

Enlaces externos