Lo nuevo en el sistema de archivos EXT4
By: Date: abril 3, 2009 Categories: Consultoria y Manuales

Así como el Ext3 salió para competir con ReiserFS, Ext4 parece estar listo para competir contra Btrfs (Butter FS) de Oracle

En mi apreciación personal, ReiserFS era mejor que Ext3 , así como btrfs es mejor que Ext4, sin embargo no le quitare merito al ext4.

Ext3 no era muy diferente a Ext2, la excepción el journaling, sin el journaling Ext3 era Ext2

Ahora llega el Ext4 y parece ser realmente un brinco adelante de lo que fue ext2 y ext3, aunque no trae tantas opciones con btrfs, ya tiene 2 nuevas y una mejorada que ha existido desde ext2

I Pre asignación de espacio (Mejorado)

Desde el ext2 existe esto, desde el ext2 los sistemas de archivos en Linux con ext2 se fragmentan poco, ya que la pre asignación, intenta reservar espacio en el disco duro de forma contigua, esta función es propia del sistema de archivos, por lo que era el driver de ext2 y ext3 los responsables de pre asignar el espacio y lo hacían creando archivos con contenido nulo por el total del tamaño del archivo, esta capacidad fue mejorada, pero dentro del kernel, con una nueva API preallocate() desde el kernel se garantiza que esta asignación evitando que el driver de ext4 tenga que hacer y de hecho, ya no lo hace por lo tanto se hace más eficiente almacenar archivos.

La pre asignación de espacio desde el ext2, ext3 y mejorada en ext4 tiene un punto débil y es el mismo incluso en esta versión mejorada y es que el sistema de archivos debe conocer de ante mano cuanto mide el archivo que se va a almacenar, si no sabe cuánto mide, no puede hacer la pre asignación, por ejemplo, si sabe que mide 100MB, se busca un espacio contiguo de 100MB y se reserva ( pre asigna) de esta forma se cumple con el propósito de pre asignación y no se fragmentan los 100MB, pero que pasa el sistema operativo ni el sistema de archivos saben el tamaño total del archivo. Pues el sistema no sabe cuánto debe reservar y por lo tanto va a escribiendo los datos como le van llegando con una alta probabilidad de fragmentación, porque no sabe cuando le llegara el último dato, no sabe cuánto espacio reservar, solo escribe como van llegando los bytes.

I I Asignación retrasada la nueva habilidad en EXT4

El punto débil de la pre asignación se ha resuelto con la Asignación retrasada , esto significa que los archivos no se escribirán al disco duro cuando el sistema de archivos no conozca el tamaño final del archivo, como no conoce el tamaño y no sabe cuánto va asignar, va almacenando todos los datos que le llegan en la RAM, hasta que le llega el EOF, entonces ahora que ya conoce finalmente cuanto mide el archivo completo, ya puede hacer la asignación contigua en el disco y descargar de la RAM al disco duro todo el archivo en una zona contigua evitando la fragmentación.

Esta habilidad tiene 2 puntos débiles, la cantidad de RAM y una falla de poder.

La asignación retrasada solo puede retrasarse, si el archivo no supera la cantidad de ram disponible en el sistema, si la supera irremediablemente tendrá que escribir en el disco y sin embargo la fragmentación será menor, ya que al menos grandes bloques del archivo serán contiguos

La falla de energía parece obvia, como no escribe nada en disco duro evitando la asignación, todo el contenido del archivo esta en RAM y se perderá si en este proceso falla la energía.

¿Y cómo es que puede pasar que el sistema operativo no sepa cuánto mide un archivo?

Por ejemplo un programa escrito en C que va escribiendo con putc, sobre un archivo, prácticamente escribe de byte en byte y ni el programa ni el OS saben cuando será el ultimo byte, en casos más cercanos, las transmisiones de archivos por internet, algunas veces los servidores y los clientes no se ponen de acuerdo y no se informan mutuamente cuánto mide el archivo que se va a transmitir.

Por ejemplo los FTPs, la gran mayoría de los clientes FTP, cuando reciben un archivo no saben el tamaño final del archivo por lo que van escribiendo como van llegando los datos, con la alta probabilidad de fragmentar, en casos como este es donde la asignación retrasada evita la fragmentación. Hay muchos más casos donde será útil la asignación retrasada.

III Desfragmentación en vivo ( Re Asignación )

A pesar los esfuerzos con la asignación retrasada por evitar la fragmentación, si la memoria RAM se agota, irremediablemente habrá que escribir en el disco y con una alta probabilidad de fragmentación, pero el defragmentador vivo llega al rescate, esta capacidad trata después de que un archivo quede fragmentado, re asignarlo en un espacio contiguo desfragmentando el disco duro

El EXT4 tiene muchas otras mejoras, pero a mi gusto estas 3 son las mas significativas y por las que vale la pena actualizar a EXT4

11 thoughts on “Lo nuevo en el sistema de archivos EXT4

  1. Debian IceWeasel 3.0.6 Debian GNU/Linux

    Esto me encanta, bienvenidos al futuro, una versión de ubuntu creo que la 9.10 tendrá por defecto esté sistema de archivos, por mi parte sigo usando ext3, no eh tenido ganas de estar con ext4, me imagino una gran revolución en parte de hardware con las nuevas tecnologías ¡¡

  2. Mozilla Firefox 3.0.8 Ubuntu Linux

    No tenia problemas con la perdida de informacion ??? no es por eso que decidieron sacarlo de la ubuntu 9.04

  3. Mozilla Firefox 3.0.8 Ubuntu Linux

    Pero tambien Linux Torvalds dice que los usuarios de gnome son tontos y que KDE es un asco no creo que haya que tenerle fe ciega.
    Ademas solo tendrias que ver el bug tracker del ext4 lo estan depurando aun por los problemas que ocacioa la reasignacion.

  4. Internet Explorer 7.0 Windows Vista

    Linus es siempre asi de loco, sin embargo desde hace años en varias ponencias que ha salido su laptop a la vista, se ve que usa Gnome y creo que hasta RedHat, creo que usa ambas aunque le gusta causar polemica. Sin embargo, yo creo que en una declaracion asi, tal vez se referia a que es un entorno que hasta un tonto podria manejar, Gnome realmente es demaciado facil y que todo sea un mal entendido de una mala traduccion. No se por que no supe donde lo dijo

    Ahora que, yo mismo, pienso que los entornos graficos son innecesarios, yo trabajo comodamente en consolas de texto y pienso que los que requieren graficos para configurar algo son SOFT y que deberian aprneder a hacerlo en la consola, cuando todo se puede hacer desde la consola sin gastar recursos de mas.

    Sobre bug tracker, todos los FS continuan en desarrollo perpetuo, aun recuerdo la version 2.4.3 del kernel, el EXT2 que estaba PROBADISIMO, tenia un bug que no permitia desmontarlo, y ese bug urgio la salida de la siguiente revision la 2.4.4

  5. Mozilla Firefox 3.0.15 Ubuntu Linux

    Ubuntu 9.10 viene con el sistema de archivos ext4 predefinida, aunque uno de los contra que tiene esta extension es el tiempo que tarda en escribir los datos en el disco duro, debido a que tiene que calcular el tamaño del archivo para evitar la fragmentacion, asi como comprobar de que el archivo no se corrompio, esto gracias a su herramienta checksum, tambien es bueno mencionar que cuenta con Timestamps mejorados ya que estos seran medidos en nanosegundos en lugar de segundos y ademas se han añadido 2 bits del timestamp extendido a los bits más significativos del campo de segundos de los timestamps para retrasar casi 500 años el famoso problema del año 2038. En mi opinion son mas cosas positivas que negativas y no dudo que en poco tiempo se mejoren estos detalles. Yo uso ubuntu 9.04 con ext4 y hasta ahorita no he tenido ningun problema, si tengo alguno lo posteare.

  6. Mozilla Firefox 3.0.15 Ubuntu Linux

    Ubuntu 9.10 viene con el sistema de archivos ext4 predefinida, aunque uno de los contra que tiene esta extension es el tiempo que tarda en escribir los datos en el disco duro, debido a que tiene que calcular el tamaño del archivo para evitar la fragmentacion, asi como comprobar de que el archivo no se corrompio, esto gracias a su herramienta checksum, tambien es bueno mencionar que cuenta con Timestamps mejorados ya que estos seran medidos en nanosegundos en lugar de segundos y ademas se han añadido 2 bits del timestamp extendido a los bits más significativos del campo de segundos de los timestamps para retrasar casi 500 años el famoso problema del año 2038. En mi opinion son mas cosas positivas que negativas y no dudo que en poco tiempo se mejoren estos detalles. Yo uso ubuntu 9.04 con ext4 y hasta ahorita no he tenido ningun problema si lo tengo lo posteare.

    Y hablando de Linus, he leido que torvalds mas que de acuerdo le preocupa el sistemas de archivos ext4 por lo de la demora que tiene para escribir los archivos en el disco duro.

Deja un comentario

Tu dirección de correo electrónico no será publicada.