El nuevo sistema de Archivos para Linux, Ext4

Enero 22nd, 2009  |  Publicado en Noticias, Tecnología

Como un gran regalo de navidad, el pasado 25 de diciembre  se liberó la cuarta versión del popular sistema de archivos usado por sistemas operativos linux, el fourth extended filesystem, como sucesor al ext3, el cuál fue introducido a los sistemas operativos linux en 1999.  Sabemos que durante esto diez años se le han introducido nuevas mejoras al ext3, pero creo que la tecnología ya demandaba un nuevo sistema de archivos para este sistema operativo, o por lo menos un buen rediseño.

Para los que no saben que es un sistema de archivos, les dejo esta entrada de Wikipedia sobre los Sistemas de Archivos (http://es.wikipedia.org/wiki/Sistema_de_archivos) :

Los sistemas de archivos (filesystem en inglés), estructuran la información guardada en una unidad de almacenamiento (normalmente un disco duro) de una computadora, que luego será representada ya sea textual o gráficamente utilizando un gestor de archivos. La mayoría de los sistemas operativos poseen su propio sistema de archivos.

Lo habitual es utilizar dispositivos de almacenamiento de datos que permiten el acceso a los datos como una cadena de bloques de un mismo tamaño, a veces llamados sectores, usualmente de 512 bytes de longitud. El software del sistema de archivos es responsable de la organización de estos sectores en archivos y directorios y mantiene un registro de qué sectores pertenecen a qué archivos y cuáles no han sido utilizados. En la práctica, un sistema de archivos también puede ser utilizado para acceder a datos generados dinámicamente, como los recibidos a través de una conexión de red (sin la intervención de un dispositivo de almacenamiento).

En general, el sistema de archivos es el responsable de que podamos guardar toda nuestra información en un dispositivo de almacenamiento, ya sea un disco duro, un floppy o un USB, y que esta este bien organizada dentro de estos dispositivos. El sistema de archivos es el que organiza en qué lugar debe de guardarse la información y mantiene la lista de dónde esta esa información para que podamos acceder rápidamente a ella cuando la necesitemos. Es gracias a los sistemas de archivos que podemos guardar nuestra información en “carpetas” llamadas rutas.

Si vieramos a un disco duro como si fuera la caja de rompecabezas, un sistema de archivos es el que decide de que tamaño van a ser las piezas del rompecabezas. Estas “piezas” son llamadas sectores, y es la medida en la que se divide nuestro disco duro, y todos nuestra información debe de grabarse en estas piezas, el problema es que a veces esta información es demasiado grande para que quepa dentro de una sola pieza. El sistema de archivos mantiene un “mapa” para saber que piezas de nuestra información deben de ir juntas para formar un archivo, y cuales piezas no tienen nada escrito.

Estas son algunas de las  mejoras presentadas en el sistema de archivos desde la versión de ext3.

 

  • Compatibilidad: El sistema de archivos ext4 es totalmente compatible hacia adelante con su predecesor el ext3.  Basta con hacer algunos comandos en modo de solo lectura de tu sistema para hacer que tu sistema de archivos anterior se convierta al nuevo.  No hay necesidad de reformatear tu disco duro ni cambiar tu información, pero recuerda siempre hacer back-ups de ésta. Para tener compatibilidad hacia atrás, también se puede montar una unidad ext4 en una ext3 cómo si fuera una de estas,  pero se perderían las ventajas del nuevo sistema de archivos
  • Capacidad extendida para archivos: Actualmente, el sistema de Archivos Ext3 soporta 16 TiB(TebiBytes) como máximo para los archivos de sistema, y 2 TiB como máximo para el tamaño de los archivos. Ext4 agrega un mapedo de bloques de 48 bits, por lo que ahora se cuenat con un límite de  1 EB(Exbibytes) para los archivos de sistema y 16 TB de tamaño máximo para un archivo. 1 EiB = 1,048,576 TiB (1 EiB = 1024 PiB, 1 PiB = 1024 TiB, 1 TiB = 1024 GiB).
  • Subdirectorios: Ext3 maneja un máximo de 32,000 subdirectorios contenidos dentro de un mismo directorio. Ext4 ha liberado ese límite, y ahora se pueden tener un número ilimitado de subdirectorios.
  • Extents: Tradicionalmente, los sistemas de archivos para linux usan un esquema de  mapeo indirecto de bloques, lo que lo hace muy ineficiente para archivos muy grandes ya que el mapeo también se vuelve enorme. Ext4 aplica la metodología de los “extents”. Los extents son un conjunto de bloques físicos contiguos mejorando el rendimiento al trabajar con archivos de gran tamaño y reduciendo la fragmentación.
  • Multiasignación de bloques (Multiblock Allocation): Con este nuevo sistema de archivos, se pierde la limitación que tenía el ext3 de hacer llamados multiples al asignador de bloques para escribir datos,  con una nueva función que asigna multiples bloques con una sola llamada, en lugar de un bloque por llamada a la función. Esto permite que escribir datos en el disco sea más eficiente.
  • Fsck más rápido: El fsck( File System Consistency Check) es una función que se llama al iniciar el sistema cuando es necesario revisar la consistencia del sistema de archivos, cuando el sistema no se cerro de manera adecuada o hubo una pérdida de corriente. El ext4 permite que esta función se mejore su velocidad 2 a 20 veces en comparación al ext3.
  • Desfragmentación en línea: ext4 presenta una herramienta que permite hacer la desfragmentación de archivos individuales o de un sistema de archivos completos.

 

Hay otras muchas cosas que se han introducido a este nuevo sistema de archivos, pero lo más importante de él es que se ha mejorado mucho en su rendimiento. Por ejemplo, parala nueva versión del sistema operativo Ubuntu (9.04 Jaunty Jackalope) se ha mejorado el tiempo en el que sistema hace el boot en casi 5 segundos, una eternidad para estos sistemas operativos.

Esperamos que dentro de los siguientes dias las demás distribuciones de linux como Fedora o Gentoo también incorporen la funcinalidad de este nuevo sistema de archivos a sus paquetes y que se liberen de manera estable para poder probarlo.

Deja una respuesta