El sistema de archivos muy posiblemente es uno de los
aspectos al que más le restamos importancia a la hora de instalar un sistema
operativo. Puede ser porque simplemente no podemos escoger otro diferente (En
el caso de Windows) o porque simplemente asumimos que el "Default" es más que suficiente para nuestras necesidades.
El propósito de este post además de compartir un poco acerca
de lo que es el sistema de archivos es también
comparar las opciones disponibles por
omisión en Windows y en Linux con el ánimo de rescatar sus fortalezas, debilidades
y claro que el lector saque sus propias conclusiones.
Sin mucho preámbulo el sistema de archivos es la forma en
que el sistema operativo guarda tus archivos… ¡Así es! Ese gran desconocido, no
es nada menos que el responsable de mantener tu información a salvo y accesible
todo el tiempo.
En Windows el sistema de archivos de disco es NTFS (New Technology
FileSystem) cuyo debut se produjo por allá en Julio de 1993 con el lanzamiento
de Windows NT 3.1. Por supuesto NTFS se ha venido actualizando de a poquitos
sin romper la compatibilidad, siendo la versión más reciente la 3.1 que, a
todas estas, no ha cambiado desde su introducción en Windows XP y es usado en Windows
Server 2003, Windows Server 2008, Windows Vista, and Windows 7.
En Linux el sistema de archivos por tradición ha sido EXT (Extended FileSystem) (En Linux a diferencia de Windows hay varios sistemas de archivos y
pueden seleccionarse a la hora de la instalación) siendo el más reciente ext4
introducido el 10 de octubre de 2006 en el kernel Linux 2.6.19 y la opción por
defecto para las distribuciones más populares como Ubuntu y Fedora.
Veamos en detalle lo que pueden hacer estos sistemas de archivos:
Limites
De entrada, diré que un usuario casero posiblemente nunca llegue a
alcanzar estos límites, sin embargo, es bueno tenerlos en mente por
propósitos científicos.
|
|
NTFS
|
Ext4
|
Tamaño máximo de volumen = 264TB
(262.144 GB)
Tamaño máximo de archivo = 16TiB
(16.384 GB)
Número máximo de archivos = 4.294.967.295
|
Tamaño máximo de volumen = 1024PiB
(1’073.741.824 GB)
Tamaño máximo de archivo = 16TiB
(16.384 GB)
Número máximo de archivos = 4.000.000.000
|
Confiabilidad
|
|
NTFS
|
Ext4
|
NTFS Log.
NTFS es un sistema basado en Journaling (Registro por diario) que usa
el $LogFile para grabar todos cambios en el sistema de archivos. Básicamente
mantiene coherente la estructura de archivos incluso si el
sistema falla.
También NTFS utiliza el USN (Update Sequence Number Journal) que
graba todos los cambios sobre los archivos. Sin embargo, el journal no
preserva las versiones originales de los archivos modificados por lo que no
es posible deshacer los cambios realizados.
|
Ext4 Journal
Ext4 también hace uso del registro por diario. Sin embargo también
realiza comprobaciones sobre el diario (Checksums) para mejorar la fiabilidad
ya que el archivo de log es uno de los más leidos del disco.
Este proceso hace que se evite la lectura/escritura del disco mientras se realiza el proceso de registro en el journal aumentando ligeramente el rendimiento. |
Fragmentación
Con el uso, todos los sistemas de archivos son susceptibles a
fragmentarse, lo cual, eventualmente disminuye el rendimiento y el tiempo de
respuesta del disco.
|
|
NTFS
|
Ext4
|
Ordena y accede a los archivos secuencialmente. Esto lo hace particularmente
susceptible a la fragmentación siendo recomendado ejecutar la utilidad de
desfragmentación cuando el índice de archivos fragmentados supera el 10%.
|
Ordena y accede a los archivos desde la mitad de la unidad,
reduciendo la fragmentación y el tiempo acceso a archivos en 1/2 de entrada.
Incorpora características para reducir la fragmentación siendo
extraño en equipos caseros que supere el 10%.
Pensando en sistemas altamente transaccionales , existe una utilidad
de desfragmentación en línea.
|
Rendimiento
Varios test sugieren que ext4 puede hacer ciertas operaciones de lectura/escritura mucho más rápido que NTFS[1]
|
|
NTFS
|
Ext4
|
Como ya lo habíamos mencionado anteriormente, NTFS es particularmente susceptible a la fragmentación por lo que su rendimiento disminuye con el paso del tiempo.
|
Si bien ext4 es de por sí rápido, pueden realizarse trucos (No siempre recomendados) como desactivar el journal para aumentar las velocidades de lectura/escritura en el disco.
|
La evolución de los sistema de archivos es particularmente lenta y debe ser especialmente cuidadosa. Quizás en este sentido los sistemas operativos abiertos han gozado de mayores libertades en implementación y adopción de éstos sistemas dando como resultado una pequeña ventaja sobre su homólogo de Windows.
¿Qué tal ha sido tu experiencia? ¿Es más rápido mover archivos en Windows o en Linux?
--
[1] Real World Benchmarks Of The EXT4 File-System
http://www.phoronix.com/scan.php?page=article&item=ext4_benchmarks&num=1
Lastima que se dejo por fuera otros FS, como el FAT, ya descontinuado en PCs pero su uso continua en Xbox. y los menos conocidos de linux como el XFS o el Reise (que tiene una macabra historia su creador)
ResponderEliminarEn cuanto ala pregunta, trasnferir archivos desde Ext a NTFS siempre me ha resultado rapido, pero entre Ext, que ni sonic macho.
Es una información que cualquier persona debería conocer, buen post, quizas alguna comparativa entre ext hubiera sido mas de mi gusto, bueno cosa de gustos simplemente.
ResponderEliminarAaaa y claro q ext4 me va mucho mas rápido q NTFS, en todo caso yo mantengo el boot con ext3 y una particion para mi Android con ext2
Hola @Sanae Hanekoma:
ResponderEliminarLa idea es dedicar más adelante un buen post sobre esos sistemas de archivos. Por supuesto que vale la pena hablar de ellos.
@Modem ¿Una comparativa entre ext? Es una buena idea sin duda aunque también por ser mejoras sucesivas podemos deducir fácilmente que ext4 es la mejor opción.
Me suena la idea de contar un poco acerca de la evolución de ext.
¡Saludos!
Hola PB que tal?
ResponderEliminarEstuve haciendo pruebas de todo tipo y específicamente con el manejo de archivos, de GNU/Linux (Debian, Ubuntu, Fedora) comparándolas obviamente con Windows 7. Porque voy a comenzar un proyecto y pretendía realizarlo en GNU/Linux, (lamentablemente no paso la prueba) ahora te comento unas curiosidades a ver si sabes a que se deben...
Copia de archivos (grandes cantidades) entre dos HD Sata 1.5Tb. Hay una diferencia descomunal de casi el doble en la velocidad al copiar archivos.
Archivos pequeños
Windows promedio 38MBps
GNU/Linux 74MBps
Archivos grandes
Windows promedio 54MBps
GNU/Linux 94MBps
Otro dato curioso es que cualquier distro de las que probé tiene muchos problemas al leer directorios con gran cantidad de archivos. Por ejemplo tengo un directorio con 19.800 archivos, Linux tarda muchisimo tiempo en leerlos y en algunos casos ni los lee, en Windows es inmediato.
¿Sabes a que se deben estos fenomenos?
Quizá tarde tanto en leer ese directorio porque tengas alguna opción habilitada para previsualizar los archivos. Prueba a ver cuanto tarda con la previsualización desabilitada.
ResponderEliminarexacto es por eso de la previsualizacion de los archivos.
ResponderEliminarMe podrías dar las diferencias entre ext3 y ext4 tengo instalado Feodra 17 pero la partición las hice con ext3, conversando con unos amigos me dijeron que hubiese elegido la ext4 pero no lo hice simplemente porque el ext3 me va bien, y no quería estar en apuros. :)
ResponderEliminarGracias
:)
Te recomiendo mi blog http://sirjuno.gioscix.com
Hablo sobre temas de GNU/LINUX y algunos temas de programación
Saludos
Claro, por definición ext4 es la evolución de ext3: Básicamente moviendo sus fronteras más allá, por ejemplo, permite tamaños de archivos mayores y rutas (Subdirectorios) mucho más grandes que ext3. También incluyó algunas mejoras en el rendimiento, por ejemplo, posibilitando la capacidad de "Desfragmentar" (Ese término es nuevo en Linux) el disco duro en caliente. Esto sucede porque en sistemas muy grandes con mucha información cualquier 4% de fragmentación (Que es despreciable en un PC) supone una pérdida de rendimiento.
EliminarEn conclusión, no dudes por ext4 para tu próxima instalación, ya lleva bastante tiempo estable en el kernel y no debería darte problemas.
Cada vez que copio un archivo en linux que en windows tardó 1 minuto me sorprendo (tengo ambos en la pc), porque lo hace instantáneamente y siempre me queda la duda de si lo copió o no jaja, uso ext3 en linux.
ResponderEliminarMuy buen post, la verdad que cada vez estoy más convencido de usar Ubuntu SIEMPRE en mi equipo. Y aunque lo tengo instalado y lo uso esporádicamente (para programar en C) para todo lo demás utilizo Windows 7. Sabéis si se puede jugar a los ultimos video-juegos bajo Ubuntu? en plan windows 7, ya sabeis... :)
ResponderEliminarMuchas desarrolladoras de videojuegos todavía optan por desarrollar solo para Windows.
EliminarNo obstante la cantidad de videojuegos disponibles para Ubuntu ha aumentado un 900% en el último año, y todos los juegos que saquen para la videoconsola SteamBox serán binariamente compatibles también con el sistema operativo.
Este comentario ha sido eliminado por el autor.
EliminarMi experiencia es parecida a las comentadas aquí. Llevo unos años usando Linux como SO principal y otra cosa que he hecho es utilizar mis discos duros externos "de almacén" ya solamente en EXT4 o a veces en XFS. Básicamente me harté de que al irse la corriente o haber algún fallo en NTFS de repente hay directorios enteros que desaparecen. EXT4 me parece mucho más seguro para este menester. Eso sí, está la cuestión de los permisos, puesto que en Windows NTFS todo está abierto por defecto y Linux EXT4 normalmente no permite la escritura al formatearse el disco con permisos de Root. He optado por dar permisos totales (chmod 777) en las carpetas principales para evitar problemas con las copias.
ResponderEliminar